Flutter——Android与Flutter混合开发详细教程
目录
- 1.创建FlutterModule项目,相当于Android项目里面的module库;
- 2.或者编辑aar引用
- 3.创建Android原生项目
- 3.直接运行跑起来
1.创建FlutterModule项目,相当于Android项目里面的module库;
2.或者编辑aar引用
执行 flutter build aar 一直卡在 add-to-app说明正在下载 com.android.tools.build:gradle:8.1.0 和 distributionUrl=https://services.gradle.org/distributions/gradle-8.0-all.zip。如果想快速编译成功,可以修改两位置本地已经下载库对应的版本号。
例如:我本地com.android.tools.build:gradle:8.7.3 和 distributionUrl=https://services.gradle.org/distributions/gradle-8.9-bin.zip
编译失败:
Exception in thread “main” java.util.zip.ZipException: zip END header not found
此问题说明,下载的gradle下载失败了;此时可以按照上面步骤可以解决
编译成功之后,可以按照标红这一块步骤,去宿主安卓项目进行配置,从而引用aar包;
3.创建Android原生项目
这里有两种gradle语言,具体直接参考
我这里选择的是 Groovy DSL 语言,
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parent,
'myflutter/.android/include_flutter.groovy'
))
如果有此错误
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin class 'FlutterPlugin'.
请将这一块代码放进去解决报错问题
maven {
url = uri("https://storage.googleapis.com/download.flutter.io")
}
需要在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"
/>
3.直接运行跑起来
参考文章:
https://docs.flutter.cn/add-to-app/android/project-setup