将android原生和flutter结合起来有两种方式:
1、新建Flutter项目,将已有的android原生项目放在与lib同级的android文件夹下面,此种方式改动较大,未尝试过。
2、新建一个flutter的module,将此module引入到现有android原生的工程中。本文介绍此种方式(前提是各种SDK、环境变量按官方给的配置好)。
第一步:切换Flutter分支。
官方建议我们下载的是Flutter SDK是beta版本(2018年10月23日,至少这个时间之前是这么回事。时间打出来发现明天是1024节,顺便祝大家节日快乐),由于目前beta版本暂不支持项目中创建flutter的module的功能,因此我们需要切换到master分支上。
(命令行 执行↓)
flutter channel 查看分支
没切之前,那个*应该在beta左边。
(命令行 执行↓)
flutter channel master 切换到master分支
flutter upgrade 更新
这两步不是每次都能成功,多切个网络啥的试试。
第二步:创建Flutter module
一般情况下都会把flutter的module创建在android原生的工程的根目录下。
在你studio项目的根目录执行:
(命令行↓)
flutter create -t module flutter_app
如果失败,在确保已切换到master的前提下多试几次。
第三步:配置
1.在你的项目的project根目录下的settings.gradle文件加入:
include ':App','xxxxxxxxxxxxxxxxxxxxxxxxxxxx' setBinding(new Binding([gradle: this])) // new evaluate(new File( // new settingsDir, // new 'flutter_app/.android/include_flutter.groovy' // new ))
2.sync一下代码,在app的build.gradle中添加依赖,添加完后再sync一下,这时flutter就引入到我们的项目中。
dependencies { …… implementation project(':flutter') }
OK...