软件各个版本号
Android Studio的版本是Ladybug Feature Drop,patch版本是2024.2.2。Flutter的版本如下图所示:
gradle-wrapper.properties中定义的gradle的版本是:gadle-8.10.2-bin.zip。
Android项目中集成Flutter模块
Flutter模块的集成方式
Flutter可以作为源代码Gradle子项目或AAR逐个嵌入到您现有的Android应用程序中。可以使用带有 Flutter插件的Android Studio IDE或手动完成集成流程。首先需要创建Flutter Module,可以使用命令行,也可以使用Android Studio。注意:Flutter Module的目录和Android项目中的app Module是在同一个父目录下面,也就是说Flutter Module和app Module是在Android项目的同一个层级。Flutter要求你的项目声明与Java 11或更高版本兼容。app Module需要声明Java版本,示例如下:
ini
android{
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
Flutter Module如何编译成AAR
Flutter Module编译成aar,命令行到Flutter Module路径下,然后执行flutter build aar命令。效果图如下:
根据上图中的步骤添加相应的配置,但上面的配置有需要调整的地方。命令执行完成之后,生成的aar相关的目录和信息如下图所示:
settings.gradle.kt增加相应的maven配置
scss
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
//下面两行是新增的
maven("https://storage.googleapis.com/download.flutter.io")
maven(url="/Users/caicai/AndroidStudioProjects/MyApplication/FlutterAddDemo/flutter_module/build/host/outputs/repo")
}
}
app mudule增加相应的配置
在app mudule中buildTypes增加配置:
javascript
create("profile") {
initWith(getByName("debug"))
}
在app mudule中dependencies增加如下配置:
csharp
debugImplementation ("com.example.flutter_module:flutter_debug:1.0")
add("profileImplementation", "com.example.example_one:flutter_profile:1.0")
releaseImplementation ("com.example.flutter_module:flutter_release:1.0")
app module中增加FlutterActivity的配置
app的manifest文件中增加FlutterActivity的配置,示例代码如下:
ini
<activity
android:name="io.flutter.embedding.android.FlutterActivity"
android:theme="@style/Theme.FlutterAddDemo"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize"
/>
FlutterActivity的调用
scss
findViewById<Button>(R.id.button).setOnClickListener {
// Using a new FlutterEngine.
startActivity(
FlutterActivity.createDefaultIntent(this)
)
}
项目效果
总结
希望文章对您有所帮助,如有错误,请不吝指出。