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

相关推荐
诸神黄昏EX5 小时前
Android Build系列专题【篇六:VINTF机制】
android
浪客川6 小时前
安卓日志工具类
android
消失的旧时光-19436 小时前
Flutter 插件通信架构设计:从 Channel 到 FFI 的完整边界
flutter·ffi
csj506 小时前
安卓基础之《(14)—数据存储(4)应用组件Application》
android
李坤林7 小时前
Android Binder 详解(6) Binder 客户端的创建
android·binder
北京自在科技7 小时前
苹果iOS 26.3实现跨安卓数据无缝迁移
android·ios·findmy
_道隐_7 小时前
Android里面的layer、DisplayList和hardwarebuffer之间是什么关系
android
stevenzqzq8 小时前
ctrl +B和ctrl+shift +B的区别
android·ide·android studio
似霰9 小时前
HIDL Hal 开发笔记5----Same-Process HALs 实例分析
android·framework·hal
robotx9 小时前
安卓16 设置壁纸中应用网格,有两个5X5的选项
android