文章目录

      • Android 导入Flutter模块
        • 两种方式
          • 1.使用Android Studio
          • 2.手动整合
            • 创建Flutter模块
        • Java 8要求
        • 添加Flutter模块作为依赖项
          • 1.AAR
          • 2.源代码模块(module)

Android 导入Flutter模块

Flutter可以作为源代码Gradle子项目或AAR嵌入到您现有的Android应用程序中。

可以使用带有Flutter插件的Android Studio IDE 或手动完成集成流程

Flutter目前只支持构建用于x86_64、armeabi-v7a和arm64-v8a的AOT编译库

考虑使用abiFilters Android Gradle插件API来限制APK中支持的架构。这样做可以避免丢失libflutter.so运行时崩溃,例如:

android {  //...  defaultConfig {    ndk {      // Filter for architectures supported by Flutter.      abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'    }  }}

两种方式

1.使用Android Studio

File > New > New Module...现有Android项目中Android Studio中的菜单,您可以创建要集成的新Flutter模块,也可以选择以前创建的现有Flutter模块

2.手动整合
创建Flutter模块

​ 假设您在处已有一个Android应用some/path/MyApp,并且您希望Flutter项目作为同级项目:

$ cd some/path/$ flutter create -t module --org com.example my_flutter

Java 8要求

Flutter Android引擎使用Java 8功能。

在尝试将Flutter模块项目连接到主Android应用之前,请确保您的主Android应用在您的应用build.gradle文件中的android { } 块下声明了以下源兼容性,例如:

android {  //...  compileOptions {    sourceCompatibility 1.8    targetCompatibility 1.8  }}

添加Flutter模块作为依赖项

将Flutter模块添加为Gradle中现有应用程序的依赖项。

有两种方法可以实现此目的

1.AAR机制会创建通用的Android AAR作为打包Flutter模块的中介。当您的下游应用程序构建者不想安装Flutter SDK时,这很好。但是,如果您经常进行构建,则会增加一个构建步骤

2.源代码子项目机制是一种便捷的一键式构建过程,但需要Flutter SDK。这是Android Studio IDE插件使用的机制

1.AAR

AAR详细看 官网

2.源代码模块(module)

Android项目和Flutter项目启用一个步骤的构建。当您同时在两个部分上进行快速迭代时,此选项很方便,但是您的团队必须安装Flutter SDK才能构建主应用程序

在主APP的settings.gradle下:

include ':app'                                     // assumed existing contentsetBinding(new Binding([gradle: this]))                                 // newevaluate(new File(                                                      // new  settingsDir.parentFile,                                               // new  'my_flutter/.android/include_flutter.groovy'                          // new))                                                                 

app的build.gradle添加依赖

dependencies {  implementation project(':flutter')}

gradle sync (同步)一下,OK

更多相关文章

  1. android 下编译c++项目
  2. 谷歌Android为何关闭源代码?
  3. 【WebRTC】在Android上用NDK编译WebRtc音频增益模块(AGC),降噪(NS),j
  4. 如何将Eclipse中的项目迁移到Android Studio 中
  5. MPAndroidChart项目实战(六)——自定义1MPAndroidChart滑动冲突解
  6. mono for android 百度map binding项目
  7. Android项目运行提示
  8. HNU_团队项目_Android和数据库对接出现问题总结

随机推荐

  1. android非常好的在线视频播放器源码(包含
  2. Gradle in Android(安卓)Studio (3) - 项
  3. android 4.0 NetworkOnMainThreadExcepti
  4. android实现图片压缩
  5. 去掉Android(安卓)app上的Title Bar
  6. Android(安卓)WakeLock
  7. android开发 drawable中XML
  8. 自己写的一个在线汇率转换工具-MoneyDroi
  9. Android(安卓)display架构分析(八)
  10. 详解 Android(安卓)的 Activity 组件