settingsDir.parentFile, // new
‘my_flutter/.android/include_flutter.groovy’ // new
)) // new
3. 依赖 flutter 模块
在 Android 模块的 build.gradle中加入如下依赖。
dependencies {
implementation project(‘:flutter’)
}
然后单击Sync Now
同步 Gradle 即可。
完成这一步就可以在 Android 原生代码中使用 flutter 模块了。
4. 配置 AndroidManifest.xml
启动 flutter 模块需要使用FlutterActivity
,所以需要在 AndroidManifest.xml 中注册一下。
<activity
android:name=“io.flutter.embedding.android.FlutterActivity”
android:theme=“@style/LaunchTheme”
android:configChanges=“orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode”
android:hardwareAccelerated=“true”
android:windowSoftInputMode=“adjustResize”/>
5. 启动 Flutter 模块
在任意地方执行如下代码即可启动 Flutter 模块。
startActivity(FlutterActivity
.withNewEngine()
.initialRoute(“splashRoute”) // 启动指定 Flutter page,没有可以省略
.build(requireContext()))
=======================================================================
因为 Flutter 目前仅支持x86_64、armeabi-v7a和arm64-v8a架构. 所以为了避免运行时崩溃建议在 build.gradle中做如下配置。
android {
//…
defaultConfig {
ndk {
// Filter for architectures supported by Flutter.
abiFilters ‘armeabi-v7a’, ‘arm64-v8a’, ‘x86_64’
}
}
}
因为Flutter Android 引擎需要使用 Java 8。所以需要在宿主 Android 工程的 build.gradle中做如下配置。
android {
//…
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
3. storage.googleapis.com 国内访问不了?
-
“学会科学上网”
Android Studio 默认创建的模块名称是app
。在 settings.gradle中有如下配置。
include ‘:app’
只有在这里 include 的模块才能通过 gradle 进行