FlutterLib以AAR形式集成到Android原生工程中
2021/8/2 6:08:46
本文主要是介绍FlutterLib以AAR形式集成到Android原生工程中,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
项目开发过程中,要求使用Flutter来进行混合开发,可以将整个Flutter项目以module的形式引入到Android原生项目,优点是方便Flutter模块的调试工作,缺点是需要项目组中所有的成员都去配置flutter环境成本太大,项目灵活性差;还有一种是以Flutter产物AAR的形式集成,优点是其他项目组成员不需要搭建flutter环境,项目灵活性好,缺点是不利于Flutter模块的调试(每次都得重新打包aar并集成的项目中编译);
最终我们选型以产物AAR形式集成到原生项目中;以下是总结的经验:
为了方便项目管理,在项目的根目录下,创建一个用于存放Flutter AAR资源文件的文件夹,例如命名为“Flutterlibs”
使用flutter的模块中增加以下依赖
dependencies {
// ...
debugImplementation 'com.example.flutter_module:flutter_debug:1.0'
profileImplementation 'com.example.flutter_module:flutter_profile:1.0'
releaseImplementation 'com.example.flutter_module:flutter_release:1.0'
}
情景一:单个模块使用flutter aar
1.需flutter项目执行flutter build aar或Build->Flutter->Build AAR
2.flutter项目根目录的build文件夹中会生成/host/outputs/repo文件夹,
3.将repo文件夹全部复制,粘贴到Flutterlibs目录中
4.在使用flutter模块的model中的build.gradle文件中,repositories结构中增加如下
repositories {
......
maven {
url '..\\Flutterlibs\\repo'
}
maven {
url 'https://storage.flutter-io.cn/download.flutter.io'
}
}
5.若使用profile维度,则需要在buildTypes结构中增加如下,
buildTypes {
......
profile {
initWith debug
}
}
6.同步项目,运行
情景二:整个项目都可以使用flutter aar
只需将情景一中的代码抽离到项目根目录下的build.gradle文件中,代码如下
allprojects {
//String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"// https://storage.flutter-io.cn国内使用这个,国外使用https://storage.googleapis.com
repositories {
......
maven {
url '..\\Flutterlibs\\repo'
}
maven {
url 'https://storage.flutter-io.cn/download.flutter.io'
}
}
}
如有疑问,欢迎留言交流~
如有不对,欢迎留言指出~
这篇关于FlutterLib以AAR形式集成到Android原生工程中的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路