项目集成方法和装置、存储介质及电子装置制造方法及图纸

技术编号:38382351 阅读:13 留言:0更新日期:2023-08-05 17:39
本申请公开了一种项目集成方法和装置、存储介质及电子装置,涉及智慧家庭技术领域,该项目集成方法包括:确定第一项目对应的第一静态库,其中,所述第一静态库为所述第一项目调用组件生成的编译产物;根据所述第一静态库在第二静态库中确定出第三静态库,其中,所述第二静态库为第二项目调用组件生成的编译产物;将所述第三静态库发布到所述第一项目中,以完成所述第二项目与所述第一项目的集成;通过上述步骤,解决了现有技术中,在flutter与native的集成场景下,flutter调用组件生成的静态库会与native已有的静态库发生冲突,导致flutter项目无法自动发布,进而无法与native顺利集成的问题。顺利集成的问题。顺利集成的问题。

【技术实现步骤摘要】
项目集成方法和装置、存储介质及电子装置


[0001]本申请涉及智慧家庭
,具体而言,涉及一种项目集成方法和装置、存储介质及电子装置。

技术介绍

[0002]在native和flutter的混编中,我们想让IOS端的flutter module(flutter项目)通过CI/CD流水线自动编译发布、可以在native工程中通过pod引用。如果flutter module只使用了flutter package(flutter插件),那么最终编译产物会统一集成在App.framework中;但是如果包含了flutter plugin(flutter组件),因为包含native代码,因此编译时每个plugin还会生成对应的静态库。这些静态库如果native端没有使用,则需要作为flutter module的一部分发布;如果native端同时引用了,则不能跟随flutter module发布,否则会导致冲突。
[0003]针对现有技术中,在flutter与native的集成场景下,flutter调用组件生成的静态库会与native已有的静态库发生冲突,导致flutter项目无法自动发布,进而无法与native顺利集成等问题,尚未提出有效的解决方案。

技术实现思路

[0004]本专利技术实施例提供了一种项目集成方法和装置、存储介质及电子装置,以至少解决现有技术中,在flutter与native的集成场景下,flutter调用组件生成的静态库会与native已有的静态库发生冲突,导致flutter项目无法自动发布,进而无法与native顺利集成的问题。
[0005]根据本专利技术实施例的一个实施例,提供了一种项目集成方法,包括:确定第一项目对应的第一静态库,其中,所述第一静态库为所述第一项目调用组件生成的编译产物;根据所述第一静态库在第二静态库中确定出第三静态库,其中,所述第二静态库为第二项目调用组件生成的编译产物;将所述第三静态库发布到所述第一项目中,以完成所述第二项目与所述第一项目的集成。
[0006]在一个示例性实施例中,根据所述第一静态库在第二静态库中确定出第三静态库,包括:根据所述第一静态库在所述第二静态库中确定出第四静态库,其中,所述第四静态库对应的组件均被所述第一项目和所述第二项目所调用;根据所述第四静态库对所述第二静态库进行筛选,得到所述第三静态库。
[0007]在一个示例性实施例中,根据所述第一静态库在所述第二静态库中确定出第四静态库之前,所述方法还包括:对所述第二项目进行编译,得到所述第二静态库;获取所述第一静态库的第一标识信息和所述第二静态库的第二标识信息;根据所述第一标识信息和所述第二标识信息确定出第三标识信息,并根据所述第三标识信息生成第一文件,其中,所述第一标识信息与所述第二标识信息均包括所述第三标识信息。
[0008]在一个示例性实施例中,根据所述第三标识信息生成第一文件,包括:生成目标格
式的所述第一文件;将所述第三标识信息保存在所述第一文件中,并将所述第一文件保存至所述第二项目的代码仓库中。
[0009]在一个示例性实施例中,根据所述第一静态库在所述第二静态库中确定出第四静态库,包括:从所述第二项目的代码仓库中获取所述第一文件,并在所述第一文件中保存的所述第三标识信息中匹配所述第二标识信息;将匹配到第三标识信息的第二标识信息对应的第二静态库确定为所述第四静态库。
[0010]在一个示例性实施例中,根据所述第一静态库在所述第二静态库中确定出第四静态库,包括:获取所述第一静态库的第一标识信息,并将所述第一标识信息保存在第二文件中;对所述第二项目进行编译,得到所述第二静态库;在确定所述第二静态库的第二标识信息存在于所述第二文件中的情况下,将所述第二静态库确定为第四静态库。
[0011]在一个示例性实施例中,将所述第三静态库发布到所述第一项目中,包括:获取所述第一项目的pod容器的路径信息;根据所述路径信息将所述第三静态库进行发布。
[0012]根据本专利技术实施例的另一个实施例,还提供了一种项目集成装置,包括:第一确定模块,用于确定第一项目对应的第一静态库,其中,所述第一静态库为所述第一项目调用组件生成的编译产物;第二确定模块,用于根据所述第一静态库在第二静态库中确定出第三静态库,其中,所述第二静态库为第二项目调用组件生成的编译产物;发布模块,用于将所述第三静态库发布到所述第一项目中,以完成所述第二项目与所述第一项目的集成。
[0013]根据本专利技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述项目集成方法。
[0014]根据本专利技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的项目集成方法。
[0015]在本申请实施例中,先确定第一项目对应的第一静态库,其中,该第一静态库是第一项目调用组件所生成的编译产物;根据第一静态库在第二静态库中确定出要进行发布的第三静态库,其中,第二静态库为第二项目调用组件生成的编译产物;然后将第三静态库发布至该第一项目中,以完成该第二项目与该第一项目的集成;通过上述步骤,在自动发布第二项目的编译产物之前,从第二静态库中排除掉会与第一项目产生冲突的编译产物,从而顺利完成第三静态库的发布;从而解决了现有技术中,在flutter与native的集成场景下,flutter调用组件生成的静态库会与native已有的静态库发生冲突,导致flutter项目无法自动发布,进而无法与native顺利集成;实现了自动选择正确的编译产物进行发布,让flutter项目能够顺利的与native项目完成集成。
附图说明
[0016]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0017]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是根据本申请实施例的一种可选的项目集成方法的硬件环境示意图;
[0019]图2是根据本专利技术实施例的一种可选的项目集成方法的流程图;
[0020]图3是根据本专利技术实施例的一种可选的项目集成方法的流程示意图;
[0021]图4是根据本专利技术实施例的一种可选的项目集成装置的结构框图;
[0022]图5是根据本专利技术实施例的另一种可选的项目集成装置的结构框图。
具体实施方式
[0023]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种项目集成方法,其特征在于,包括:确定第一项目对应的第一静态库,其中,所述第一静态库为所述第一项目调用组件生成的编译产物;根据所述第一静态库在第二静态库中确定出第三静态库,其中,所述第二静态库为第二项目调用组件生成的编译产物;将所述第三静态库发布到所述第一项目中,以完成所述第二项目与所述第一项目的集成。2.根据权利要求1所述的项目集成方法,其特征在于,根据所述第一静态库在第二静态库中确定出第三静态库,包括:根据所述第一静态库在所述第二静态库中确定出第四静态库,其中,所述第四静态库对应的组件均被所述第一项目和所述第二项目所调用;根据所述第四静态库对所述第二静态库进行筛选,得到所述第三静态库。3.根据权利要求2所述的项目集成方法,其特征在于,根据所述第一静态库在所述第二静态库中确定出第四静态库之前,所述方法还包括:对所述第二项目进行编译,得到所述第二静态库;获取所述第一静态库的第一标识信息和所述第二静态库的第二标识信息;根据所述第一标识信息和所述第二标识信息确定出第三标识信息,并根据所述第三标识信息生成第一文件,其中,所述第一标识信息与所述第二标识信息均包括所述第三标识信息。4.根据权利要求3所述的项目集成方法,其特征在于,根据所述第三标识信息生成第一文件,包括:生成目标格式的所述第一文件;将所述第三标识信息保存在所述第一文件中,并将所述第一文件保存至所述第二项目的代码仓库中。5.根据权利要求4所述的项目集成方法,其特征在于,根据所述第一静态库在所述第二静态库中确定出第四静态库,包括:从所述第二项目的代码仓库中获取所...

【专利技术属性】
技术研发人员:王栋
申请(专利权)人:海尔优家智能科技北京有限公司海尔智家股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1