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

相关推荐
恋猫de小郭1 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
aqi002 小时前
FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
android·ffmpeg·音视频·流媒体
帅次3 小时前
Objective-C面向对象编程:类、对象、方法详解(保姆级教程)
flutter·macos·ios·objective-c·iphone·swift·safari
androidwork4 小时前
深入解析内存抖动:定位与修复实战(Kotlin版)
android·kotlin
梦天20154 小时前
android核心技术摘要
android
小蜜蜂嗡嗡4 小时前
flutter flutter_vlc_player播放视频设置循环播放失效、初始化后获取不到视频宽高
flutter
孤鸿玉6 小时前
[Flutter小技巧] Row中widget高度自适应的几种方法
flutter
szhangbiao6 小时前
“开发板”类APP如果做屏幕适配
android
bawomingtian1236 小时前
FlutterView 源码解析
flutter
高林雨露7 小时前
RecyclerView中跳转到最后一条item并确保它在可视区域内显示
android