Android 导入Flutter模块(一)

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 content
setBinding(new Binding([gradle: this]))                                 // new
evaluate(new File(                                                      // new
  settingsDir.parentFile,                                               // new
  'my_flutter/.android/include_flutter.groovy'                          // new
))                                                                 

app的build.gradle添加依赖

dependencies {
  implementation project(':flutter')
}

gradle sync (同步)一下,OK

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值