[发明专利]基于Flutter的软件构建方法和系统在审
申请号: | 202011550715.6 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112631600A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 徐林峰 | 申请(专利权)人: | 上海哔哩哔哩科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30;G06F8/36 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王勇;邓小玲 |
地址: | 200433 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 flutter 软件 构建 方法 系统 | ||
1.一种基于Flutter的软件构建方法,其特征在于,包括:
确定主工程,并同步所述主工程依赖的Flutter包;
通过Flutter编译工具,编译所述Flutter包以得到目标编译产物;
通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件;及
链接所述目标编译文件与所述目标编译产物以及Flutter引擎产物,以构建目标软件。
2.根据权利要求1所述的基于Flutter的软件构建方法,其特征在于,所述系统编译工具为Android编译工具,所述主工程为Flutter runner,Android工程作为所述主工程的外部依赖;
通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件,包括:
通过Android编译工具,编译所述Flutter runner的Native代码、Flutter插件的Native代码以及所述Android工程的Android宿主应用,以得到所述目标编译文件。
3.根据权利要求1所述的基于Flutter的软件构建方法,其特征在于,所述系统编译工具为Android编译工具,所述主工程为Android工程,Flutter包作为所述主工程的外部依赖;
通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件,包括:
通过Android编译工具,编译所述Android工程的Android宿主应用的Native代码以及编译Flutter插件的Native代码,以得到所述目标编译文件。
4.根据权利要求1所述的基于Flutter的软件构建方法,其特征在于,所述系统编译工具为Bazel编译工具,所述主工程为Flutter runner,Bazel工程作为所述主工程的外部依赖;所述方法还包括:
通过CocoaPods同步依赖信息:
判断CocoaPods中的Podspec内是否包括Bazel工程的Bazel Target;
如果所述Podspec内包括Bazel工程的Bazel Target,则执行Bazel命令行工具,以生成对应的Pod目标产物和相应的其他Podspec;及
如果所述Podspec内不包括Bazel工程的Bazel Target,则以递归方式通过Pod获取一个或多个依赖模块,并基于该一个或多个依赖模块构建所述Pod目标产物和所述其他Podspec。
5.根据权利要求1所述的基于Flutter的软件构建方法,其特征在于,所述系统编译工具为用于iOS系统的Bazel编译工具,所述主工程为Flutter runner,Bazel工程作为所述主工程的外部依赖;
通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件,包括:
通过所述Bazel编译工具,编译所述Flutter runner的Native代码、Flutter插件的Native代码以及所述Bazel工程的Bazel Target,以得到所述目标编译文件。
6.根据权利要求1所述的基于Flutter的软件构建方法,其特征在于,所述系统编译工具为用于iOS系统的Bazel编译工具,所述主工程为Bazel工程,Flutter包作为所述主工程的外部依赖;所述方法还包括:
在Bazel工程内配置所述Flutter工程的指定路径,并在该指定路径内配置占位文件;
将Flutter插件对应的目录复制到所述Bazel工程的根路径下,并在所述目录下配置相应的BUILD文件;及
配置Flutter引擎产物的BUILD文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海哔哩哔哩科技有限公司,未经上海哔哩哔哩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011550715.6/1.html,转载请声明来源钻瓜专利网。