混编配置
1、Native-Flutter混编基础配置
具体配置参考如下文章
flutter-native混编
2、使用git submodule 管理flutter模块
- 进入工程根目录
- git submodule add [flutter repo] [flutter dir]
通过git submodule add命令,为工程添加flutter子工程,flutter子工程通过git submodule子命令集管理,常用命令如下:
git submodule add [git repo] [target dir] //为工程添加子模块
git submodule init
git submodule update --remote //作用类似 git fetch
- git submodule init
初始化submodule - git submodule update --remote
拉取子工程远端代码
3、进入到flutter工程目录,拉取flutter远端代码,并初始化flutter工程
- git pull 在submodule目录下,就相当于git 工程根目录下,使用git命令管理项目,能进行任意git操作
- flutter packages get 初始化flutter工程
这个操作本质是通过flutter cli 命令,调用相应脚本,根据.yaml文件,完成flutter工程初始化
对应的脚本在如下目录。
$FLUTTER_ROOT/flutter/packages/flutter_tools
目录下包含iOS、安卓、fushia等对应平台的配置脚本及相关资源文件。
4、回到iOS工程目录下,执行 pod install,将配置完成的flutter module模块,通过前期配置的脚本,依赖入当前工程。
iOS-issues
1、iOS-flutter 混编项目,xcode运行到一半(在编译flutter模块的时候),停止xcode并重新运行,报flutter相关文件找不到
- cd my_flutter
- rm -rf .ios
- flutter build ios
- flutter packages get
- cd ..
- pod install
2、flutter_assets文件夹未能正确生成(iOS工程里,资源文件需要按要求配置,使用的时候才能寻址找到),这个文件夹用来存放flutter侧相关资源。
错误信息:
Failed to find assets path for "flutter_assets"
[VERBOSE-2:engine.cc(111)] Engine run configuration was invalid.
[VERBOSE-2:FlutterViewController.mm(462)] Could not launch engine with configuration.
flutter: Observatory listening on http://127.0.0.1:54632/
以下是一种解决方案,解决了我目前遇到的问题(引用到的flutter三方库并在flutter侧添加了图片资源,未能生成flutter_assets文件夹)
- flutter channel master // 切换到master channel
不同的channel,对应不同版本的flutter,配置,静态/动态库有所区别 -
进入到flutter工程文件根目录
flutter 目录 - rm -rf .ios
.ios文件夹包含用于启动flutter工程的基础配置及iOS壳工程,正确生成的flutter_assets就位于该工程下。 - flutter build ios
master channel重新生成.ios文件夹 - 回到native iOS 工程目录下
- pod install
网友评论