Flutter——Android与Flutter混合开发详细教程

目录

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.3distributionUrl=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 语言,

java 复制代码
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'.

请将这一块代码放进去解决报错问题

java 复制代码
maven {
            url = uri("https://storage.googleapis.com/download.flutter.io")
        }

需要在AndroidManifest.xml 文件配置

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

相关推荐
恣艺31 分钟前
LeetCode 854:相似度为 K 的字符串
android·算法·leetcode
阿华的代码王国1 小时前
【Android】相对布局应用-登录界面
android·xml·java
用户207038619492 小时前
StateFlow与SharedFlow如何取舍?
android
QmDeve2 小时前
原生Android Java调用系统指纹识别方法
android
淹没2 小时前
🚀 告别复杂的HTTP模拟!HttpHook让Dart应用测试变得超简单
android·flutter·dart
HX4363 小时前
MP - List (not just list)
android·ios·全栈
安卓开发者4 小时前
Android WorkManager 详解:高效管理后台任务
android