Android 項目集成flutter有兩種方式,一種方式以前已經整理過 melissa-l.cn/android-xia…,今天咱們來看看經過aar 的方式 集成flutter,並使用flutter_boost,爲何要使用我就再也不贅述,你要是想本身寫路由插件也行,個人原則是有肩膀就站java
先說一下本地的版本android
Flutter 1.9.1+hotfix.6 (是目前的stable版,你要正式開發最好都用穩定版)
Dart 2.5.0複製代碼
flutter 的代碼在 github.com/melissa-l/f… clone到本地後,直接跑 flutter build aar
而後根據答應出的路徑找到 build/host/outputs/repo/com
這個時候你會看到 com
文件夾下有兩個文件夾 idlefish
和 example
:git
idlefish
: 這個是咱們flutter_boost 的插件包,通常的插件包都會打包在你本地的項目裏,可是這裏咱們 pubspec.yaml
中的flutter_boost
是 從github 分支上下載的 , 因此會不單獨打包, 一路點下去就會發現 1.0
這個文件夾,咱們要用的是 flutter_boost_release-1.0.aar
pubspec.yaml
最下面 module 中定義的 androidPackage 生成的目錄,一樣的一路點下去,找到 1.0
中的flutter_release-1.0.aar
至此,咱們 flutter 的部分就結束了, 接下來就是客戶端中的配置部分。
先把上面的兩個aar,移動或複製到 安卓項目的 app/libs
下,而後再 app/build.gradle
中加入github
dependencies {
......
implementation files('libs/flutter_release-1.0.aar')
implementation files('libs/flutter_boost_release-1.0.aar')
implementation "androidx.lifecycle:lifecycle-common-java8:$lifeCycle"
}複製代碼
而後,在 app/src/main/AndroidManifest.xml 中 手動加入一個activity,這個就是flutter的activity:bash
<activity
android:name="com.idlefish.flutterboost.containers.NewBoostFlutterActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
android:hardwareAccelerated="true"
android:theme="@style/Theme.AppCompat"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/page_loading" />
</activity>複製代碼
而後其餘的文件, 新增java、xml 代碼就跟 github.com/alibaba/flu… 同樣配置。app