虽说flutter能够跨平台,但由于现在几乎都是现成的项目,所以不可能用flutter来重头开发,所以目前几乎都是采用native+flutter的混合开发方案。那么该方案该如何实现尼?
1、flutter模块的导入
首先,切换到native项目的根目录的上一级目录。以笔者项目为例,路径为D:\FlutterHybrid\FlutterHybridAndroid
,然后通过命令cd ../
切换到上一级目录。再执行下面命令来创建一个flutter模块。
flutter create -t module flutter_module
上面的flutter_module
就是我们创建的flutter模块名称。
当flutter模块创建成功后,我们就需要通过以下步骤来导入该模块。
1. 首先在在settings.gradle
文件中添加如下代码。
setBinding(new Binding([gradle:this]))
evaluate(new File(
settingsDir.parentFile,‘flutter_module/.android/include_flutter.groovy’
))
添加完成后,就能够在Android Studio中看到flutter模块,如下图。
2. 其次,在能够正确显示flutter模块后,我们就需要通过implementation project(':flutter')
来导入该模块。添加成功后就开始编译项目,这时候就可能会遇到如下错误。
这就是我们需要注意的一点,native项目的minSdkVersion
不能小于Flutter模块的minSdkVersion
。解决方案就是把native项目的minSdkVersion
的值修改为大于flutter模块的minSdkVersion
的值。
经过上面两步后,native项目就成功导入了flutter模块,这时候就可以来运行native项目。但在运行native项目时却又可能出现如下错误。