[发明专利]基于Flutter的软件构建方法和系统在审
申请号: | 202011550715.6 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112631600A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 徐林峰 | 申请(专利权)人: | 上海哔哩哔哩科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30;G06F8/36 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王勇;邓小玲 |
地址: | 200433 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 flutter 软件 构建 方法 系统 | ||
本申请实施例公开了一种基于Flutter的软件构建方法,包括:确定主工程,并同步所述主工程依赖的Flutter包;通过Flutter编译工具,编译所述Flutter包以得到目标编译产物;通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件;及链接所述目标编译文件与所述目标编译产物以及Flutter引擎产物,以构建目标软件。在本申请实施例中,通过Flutter编译工具构建一部分产物(如目标编译产物),通过系统构建工具构建另一部分产物(如目标编译文件)实现Flutter构建方式和其他构建方式的混合,使Flutter可以使用多个构建方式构建目标软件,提高代码复用率和减少迁移成本。
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于Flutter的软件构建方法、系统、计算机设备和计算机可读存储介质。
背景技术
Flutter,是Google开源的应用软件开发工具包,用于为Android、iOS、Windows、Mac、Linux、Google Fuchsia开发应用。在软件构建过程中,需要一个构建系统,将源代码构建成对应平台上的软件,例如构建成Android平台上的应用。
构建不同平台的软件,通常使用不同的构建系统。构建同一平台的软件,也可能使用不同的构建系统。当前,Flutter在某一个平台上使用的构建系统是固定的,无法与所在平台的其他构建系统进行混合,从而导致软件的复用率低且迁移成本高。
发明内容
本申请实施例的目的是提供一种基于Flutter的软件构建方法、系统、计算机设备和计算机可读存储介质,用于解决基于Flutter构建的软件的复用率低且迁移成本高。
本申请实施例的一个方面提供了一种基于Flutter的软件构建方法,包括:确定主工程,并同步所述主工程依赖的Flutter包;通过Flutter编译工具,编译所述Flutter包以得到目标编译产物;通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件;及链接所述目标编译文件与所述目标编译产物以及Flutter引擎产物,以构建目标软件。
可选的,所述系统编译工具为Android编译工具,所述主工程为Flutter runner,Android工程作为所述主工程的外部依赖;通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件,包括:通过Android编译工具,编译所述Flutterrunner的Native代码、Flutter插件的Native代码以及所述Android工程的Android宿主应用,以得到所述目标编译文件。
可选的,所述系统编译工具为Android编译工具,所述主工程为Android工程,Flutter包作为所述主工程的外部依赖;通过系统编译工具,编译所述主工程和所述主工程的外部依赖以得到目标编译文件,包括:通过Android编译工具,编译所述Android工程的Android宿主应用的Native代码以及编译Flutter插件的Native代码,以得到所述目标编译文件。
可选的,所述系统编译工具为Bazel编译工具,所述主工程为Flutter runner,Bazel工程作为所述主工程的外部依赖;所述方法还包括:判断CocoaPods中的Podspec内是否包括Bazel工程的Bazel Target;如果所述Podspec内包括Bazel工程的Bazel Target,则执行Bazel命令行工具,以生成对应的Pod目标产物和相应的其他Podspec;及如果所述Podspec内不包括Bazel工程的Bazel Target,则以递归方式通过Pod获取一个或多个依赖模块,并基于该一个或多个依赖模块构建所述Pod目标产物和所述其他Podspec。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海哔哩哔哩科技有限公司,未经上海哔哩哔哩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011550715.6/2.html,转载请声明来源钻瓜专利网。