美文网首页
Flutter原理:官网的混编方式分析

Flutter原理:官网的混编方式分析

作者: dvlproad | 来源:发表于2019-05-07 13:42 被阅读0次

前言

要想知道怎么去高级的进行混编,那么久需要你首先对官网的混编方式进行分析。所以,下面我们先对官网的混编方式进行分析,然后在进行正式的高级混编。

一、官网的混编方式分析

1、Podfile

#Flutter项目路径
flutter_application_path = "../../cj_nativeflutter_fluttermodule"
eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)

2、podhelper.rb

2.1、podhelper.rb的位置

podhelper.rb在flutter SDK中的路径为:/Applications/flutter/packages/flutter_tools/templates/module/ios/library/Flutter.tmpl

iOS项目集成Flutter高级_flutter_tools.png iOS项目集成Flutter高级_podhelper1.png

在项目中的路径为:

iOS项目集成Flutter高级1.png

2.2、podhelper.rb处理的事情

iOS项目集成Flutter高级4.png
事情①:获取Flutter.podspecFlutterPluginRegistrant.podspec,然后pod

获取Flutter.podspec

iOS项目集成Flutter高级2.png

获取FlutterPluginRegistrant.podspec

iOS项目集成Flutter高级3.png
情况1问题:如果engine文件夹不存在,即不存在我们需要的Flutter.podspecFlutter.framework

如果engine文件夹不存在,即不存在我们需要的Flutter.podspecFlutter.framework,则我们需要从flutter sdk中的如下目录拷贝Flutter.podspecFlutter.framework,那么Flutter SDK的根目录从哪里找呢?

/Applications/flutter/bin/cache/artifacts/engine/ios/

iOS项目集成Flutter高级5.png
情况1解决:获取flutter sdk的根目录flutter_root_dir

而这个flutter sdk目录flutter_root_dir的获取,我们只需要从根据flutter_application_path路径下的Generated.xcconfig文件中的FLUTTER_ROOT获取即可。

iOS项目集成Flutter高级6.png

获取的方法为:

flutter_root_dir = flutter_root(flutter_application_path)

该flutter_root函数的方法为:

iOS项目集成Flutter高级7.png

Generated.xcconfig数组的获取方法为:

iOS项目集成Flutter高级8.png

3、xcode_backend.sh

3.1、xcode_backend.sh的位置

xcode_backend.sh的目录为/Applications/flutter/packages/flutter_tools/bin/

iOS项目集成Flutter高级_sh1.png

未完待续

相关文章

网友评论

      本文标题:Flutter原理:官网的混编方式分析

      本文链接:https://www.haomeiwen.com/subject/ireeoqtx.html