项目集成方法和装置、存储介质及电子装置与流程

文档序号:35017566发布日期:2023-08-04 08:15阅读:21来源:国知局
项目集成方法和装置、存储介质及电子装置与流程

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


背景技术:

1、在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端同时引用了,则不能跟随fluttermodule发布,否则会导致冲突。

2、针对现有技术中,在flutter与native的集成场景下,flutter调用组件生成的静态库会与native已有的静态库发生冲突,导致flutter项目无法自动发布,进而无法与native顺利集成等问题,尚未提出有效的解决方案。


技术实现思路

1、本发明实施例提供了一种项目集成方法和装置、存储介质及电子装置,以至少解决现有技术中,在flutter与native的集成场景下,flutter调用组件生成的静态库会与native已有的静态库发生冲突,导致flutter项目无法自动发布,进而无法与native顺利集成的问题。

2、根据本发明实施例的一个实施例,提供了一种项目集成方法,包括:确定第一项目对应的第一静态库,其中,所述第一静态库为所述第一项目调用组件生成的编译产物;根据所述第一静态库在第二静态库中确定出第三静态库,其中,所述第二静态库为第二项目调用组件生成的编译产物;将所述第三静态库发布到所述第一项目中,以完成所述第二项目与所述第一项目的集成。

3、在一个示例性实施例中,根据所述第一静态库在第二静态库中确定出第三静态库,包括:根据所述第一静态库在所述第二静态库中确定出第四静态库,其中,所述第四静态库对应的组件均被所述第一项目和所述第二项目所调用;根据所述第四静态库对所述第二静态库进行筛选,得到所述第三静态库。

4、在一个示例性实施例中,根据所述第一静态库在所述第二静态库中确定出第四静态库之前,所述方法还包括:对所述第二项目进行编译,得到所述第二静态库;获取所述第一静态库的第一标识信息和所述第二静态库的第二标识信息;根据所述第一标识信息和所述第二标识信息确定出第三标识信息,并根据所述第三标识信息生成第一文件,其中,所述第一标识信息与所述第二标识信息均包括所述第三标识信息。

5、在一个示例性实施例中,根据所述第三标识信息生成第一文件,包括:生成目标格式的所述第一文件;将所述第三标识信息保存在所述第一文件中,并将所述第一文件保存至所述第二项目的代码仓库中。

6、在一个示例性实施例中,根据所述第一静态库在所述第二静态库中确定出第四静态库,包括:从所述第二项目的代码仓库中获取所述第一文件,并在所述第一文件中保存的所述第三标识信息中匹配所述第二标识信息;将匹配到第三标识信息的第二标识信息对应的第二静态库确定为所述第四静态库。

7、在一个示例性实施例中,根据所述第一静态库在所述第二静态库中确定出第四静态库,包括:获取所述第一静态库的第一标识信息,并将所述第一标识信息保存在第二文件中;对所述第二项目进行编译,得到所述第二静态库;在确定所述第二静态库的第二标识信息存在于所述第二文件中的情况下,将所述第二静态库确定为第四静态库。

8、在一个示例性实施例中,将所述第三静态库发布到所述第一项目中,包括:获取所述第一项目的pod容器的路径信息;根据所述路径信息将所述第三静态库进行发布。

9、根据本发明实施例的另一个实施例,还提供了一种项目集成装置,包括:第一确定模块,用于确定第一项目对应的第一静态库,其中,所述第一静态库为所述第一项目调用组件生成的编译产物;第二确定模块,用于根据所述第一静态库在第二静态库中确定出第三静态库,其中,所述第二静态库为第二项目调用组件生成的编译产物;发布模块,用于将所述第三静态库发布到所述第一项目中,以完成所述第二项目与所述第一项目的集成。

10、根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述项目集成方法。

11、根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的项目集成方法。

12、在本申请实施例中,先确定第一项目对应的第一静态库,其中,该第一静态库是第一项目调用组件所生成的编译产物;根据第一静态库在第二静态库中确定出要进行发布的第三静态库,其中,第二静态库为第二项目调用组件生成的编译产物;然后将第三静态库发布至该第一项目中,以完成该第二项目与该第一项目的集成;通过上述步骤,在自动发布第二项目的编译产物之前,从第二静态库中排除掉会与第一项目产生冲突的编译产物,从而顺利完成第三静态库的发布;从而解决了现有技术中,在flutter与native的集成场景下,flutter调用组件生成的静态库会与native已有的静态库发生冲突,导致flutter项目无法自动发布,进而无法与native顺利集成;实现了自动选择正确的编译产物进行发布,让flutter项目能够顺利的与native项目完成集成。



技术特征:

1.一种项目集成方法,其特征在于,包括:

2.根据权利要求1所述的项目集成方法,其特征在于,根据所述第一静态库在第二静态库中确定出第三静态库,包括:

3.根据权利要求2所述的项目集成方法,其特征在于,根据所述第一静态库在所述第二静态库中确定出第四静态库之前,所述方法还包括:

4.根据权利要求3所述的项目集成方法,其特征在于,根据所述第三标识信息生成第一文件,包括:

5.根据权利要求4所述的项目集成方法,其特征在于,根据所述第一静态库在所述第二静态库中确定出第四静态库,包括:

6.根据权利要求2所述的项目集成方法,其特征在于,根据所述第一静态库在所述第二静态库中确定出第四静态库,包括:

7.根据权利要求1所述的项目集成方法,其特征在于,将所述第三静态库发布到所述第一项目中,包括:

8.一种项目集成装置,其特征在于,包括:

9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至7任一项中所述的方法。

10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。


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

技术研发人员:王栋
受保护的技术使用者:青岛海尔科技有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1