1,创建flutter module项目:创建flutter项目有四种:flutter项目,flutter插件,flutter package,flutter module。混合开发要创建flutter module,在该项目中编写flutter功能模块代码。
2,在原项目配置:settings.gradle 文件中加入
setBinding(new Binding([gradle:this]))
evaluate(new File(
settingsDir.parentFile,//父目录
'android_flutter_module/.android/include_flutter.groovy'// flutter module项目中include_flutter.groovy'路径
))
3,在原项目引入flutter项目:build.gradle 加入 implementation project(':flutter')
4,在application中初始化:在application onCreate中加入FlutterMain.startInitialization(this);
5,创建一个继承FlutterActivity的activity
运行出错:
v4包兼容的问题,要把原项目与flutter module项目中的.android项目包里的所有引入的包要同一版本,要不会提示版本兼容错误,app文件现在build.gradle,和flutter文件下的build.gradle都要改成与原项目相同的版本
还有版本要在27以上(低版本的提示找不生命周期方法)
正式包运行崩溃问题,没有做混淆处理的话正式包要关闭混淆
运行flutter相关模块代码崩溃,flutter没有在application中初始化
VM snapshot must be valid.崩溃:
报这个错误:禁掉友盟多平台打包,即可正常运行
AndroidManifest.xml---------
<!--<meta-data-->
<!--android:name="UMENG_CHANNEL"-->
<!--android:value="${UMENG_CHANNEL_VALUE}"/>-->
app.gradle------
//productFlavors {
// XXXXXXXXXXXXXXXXXX
//}
创建flutter项目生成空文件夹,没有内容,原因是卡在正在执行的futter任务而不会执行创建,如果任务一直卡着可以重启studio