System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用程序编译方法及装置制造方法及图纸_技高网

应用程序编译方法及装置制造方法及图纸

技术编号:41262891 阅读:2 留言:0更新日期:2024-05-11 09:20
本公开涉及一种应用程序编译方法及装置,其中,该方法包括:响应依赖安装指令启动目标插件,通过目标插件部署缓存系统以及向待构建的应用程序中注入缓存配置;缓存配置指示缓存系统提供的第一编译工具为编译应用程序的工程文件时调用的编译工具;通过应用开发工具对应用程序的工程文件进行编译时,调用第一编译工具查询缓存系统是否包含应用程序对应的工程文件的编译结果;若包含,则从缓存系统获取工程文件编译结果;若不包含,则调用应用程序开发工具提供的第二编译工具对工程文件进行编译得到编译结果。通过目标插件自动完成缓存配置用于调用缓存系统中已存在的编译结果,提高了编译效率,且该过程用户无感知,用户体验较好。

【技术实现步骤摘要】

本公开涉及计算机,尤其涉及一种应用程序编译方法及装置


技术介绍

1、在构建应用程序时需要执行应用程序编译,编译的目的是将高级语言编写的源程序代码转换成机器可识别并执行的二进制代码。为了能够提高编译效率,应用程序开发工具支持复用编译结果,编译结果通常存储在缓存系统中,在进行编译时调用缓存系统获得已存在的编译结果。然而,目前调用缓存系统需要应用程序开发者在构建应用程序时手动修改应用程序的工程配置文件,由于工程配置文件数量较多,手动修改容易出错,且效率极低。


技术实现思路

1、为了解决上述技术问题,本公开提供了一种应用程序编译方法及装置。

2、第一方面,本公开提供了一种应用程序编译方法,包括:

3、响应依赖安装指令启动目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置,以将所述缓存系统嵌入应用程序开发工具;所述缓存配置指示所述缓存系统提供的第一编译工具为编译应用程序的工程文件时调用的编译工具;

4、通过所述应用程序开发工具对所述应用程序的工程文件进行编译时,调用所述第一编译工具查询所述缓存系统是否包含所述应用程序对应的工程文件的编译结果;

5、若包含,则从所述缓存系统获取所述工程文件的编译结果;

6、若不包含,则调用应用程序开发工具提供的第二编译工具对所述工程文件进行编译得到所述工程文件的编译结果。

7、在一些实施例中,所述响应依赖安装指令启动所述目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置,包括:

8、在第一配置文件所在目录下获取所述依赖安装指令;所述第一配置文件用于描述所述应用程序的依赖项;

9、响应所述依赖安装指令,安装所述第一配置文件描述的依赖项进行工程集成,并在工程集成阶段启动所述目标插件,通过所述目标插件部署所述缓存系统以及向所述应用程序对应的工程配置文件中注入缓存配置。

10、在一些实施例中,所述响应依赖安装指令启动所述目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置之前,还包括:

11、在第二配置文件所在目录下获取插件安装指令;所述第二配置文件用于描述构建所述应用程序所需的插件;

12、响应所述插件安装指令,安装所述第二配置文件描述的各插件,所述第二配置文件描述的插件包括所述目标插件。

13、在一些实施例中,所述调用所述第一编译工具查询所述缓存系统是否包含所述应用程序对应的工程文件的编译结果,包括:

14、获取所述工程文件的编译结果的标识;

15、调用所述第一编译工具基于所述编译结果的标识与所述缓存系统中存储的各编译结果的标识进行匹配得到匹配结果,基于所述匹配结果确定所述缓存系统是否包含所述工程文件的编译结果。

16、在一些实施例中,所述获取所述工程文件的编译结果的标识,包括:

17、根据所述工程文件、所述工程文件关联的工程配置文件中的一项或多项,确定输入参数;

18、对所述输入参数进行哈希计算得到哈希值,所述哈希值为所述编译结果的标识。

19、在一些实施例中,所述缓存系统包括:在执行应用程序开发的电子设备上管理的缓存和云端缓存;所述调用所述第一编译工具查询缓存系统是否包含所述应用程序对应的工程文件的编译结果,包括:

20、调用所述第一编译工具在所述电子设备的缓存中查询是否包含所述工程文件的编译结果;若包含,则从所述电子设备的缓存中读出所述编译结果;

21、若不包含,则调用所述第一编译工具查询所述云端缓存是否包含所述工程文件的编译结果。

22、在一些实施例中,所述调用应用程序开发工具提供的第二编译工具对所述工程文件进行编译得到所述工程文件的编译结果之后,还包括:将所述工程文件的编译结果上传至所述缓存系统的云端缓存中进行存储。

23、第二方面,本公开提供了一种应用程序编译装置,包括:

24、第一处理模块,用于响应依赖安装指令启动目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置,以将所述缓存系统嵌入应用程序开发工具;所述缓存配置指示所述缓存系统提供的第一编译工具为编译应用程序的工程文件时调用的编译工具;

25、第二处理模块,用于通过所述应用程序开发工具对所述应用程序的工程文件进行编译时,调用所述第一编译工具查询所述缓存系统是否包含所述应用程序对应的工程文件的编译结果;以及,在所述缓存系统包含编译结果时,从所述缓存系统获取所述工程文件的编译结果;

26、本地编译模块,用于在所述缓存系统不包含编译结果时,调用应用程序开发工具提供的第二编译工具对所述工程文件进行编译得到所述工程文件的编译结果。

27、第三方面,本公开提供了一种电子设备,包括:存储器和处理器;

28、存储器被配置为存储计算机程序指令;处理器被配置为执行所述计算机程序指令,使得所述电子设备实现如第一方面以及第一方面任一项所述的应用程序编译方法。

29、第四方面,本公开提供一种可读存储介质,包括:计算机程序指令,电子设备的至少一个处理器执行所述计算机程序指令,使得所述电子设备实现如第一方面以及第一方面任一项所述的应用程序编译方法。

30、第五方面,本公开提供一种计算机程序产品,电子设备运行所述计算机程序产品,使得所述电子设备实现如第一方面以及第一方面任一项所述的应用程序编译方法。

31、本公开实施例提供一种应用程序编译方法及装置,其中,该方法包括:响应依赖安装指令启动目标插件,通过目标插件部署缓存系统以及向待构建的应用程序中注入缓存配置,以将缓存系统嵌入应用程序开发工具中;缓存配置指示缓存系统提供的第一编译工具为编译应用程序的工程文件时调用的编译工具;响应于对应用程序的编译命令,调用第一编译工具查询缓存系统是否包含应用程序对应的工程文件的编译结果;若包含,则从缓存系统获取工程文件编译结果;若不包含,则调用应用程序开发工具提供的第二编译工具对工程文件进行编译得到相应的编译结果。本公开通过目标插件自动完成缓存配置,以在编译阶段复用缓存系统中已存在的编译结果,提高了编译效率以及应用程序开发效率,且自动修改保证缓存配置注入不会出现错误;此外,该过程可以在用户无感知的情况下自动执行,无需用户输入任何操作,用户体验较好。

本文档来自技高网...

【技术保护点】

1.一种应用程序编译方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述响应依赖安装指令启动所述目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置,包括:

3.根据权利要求1所述的方法,其特征在于,所述响应依赖安装指令启动所述目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置之前,还包括:

4.根据权利要求1所述的方法,其特征在于,所述调用所述第一编译工具查询所述缓存系统是否包含所述应用程序对应的工程文件的编译结果,包括:

5.根据权利要求4所述的方法,其特征在于,所述获取所述工程文件的编译结果的标识,包括:

6.根据权利要求1所述的方法,其特征在于,所述缓存系统包括:执行应用程序开发的电子设备上管理的缓存和云端缓存;所述调用所述第一编译工具查询缓存系统是否包含所述应用程序对应的工程文件的编译结果,包括:

7.根据权利要求1所述的方法,其特征在于,所述调用应用程序构建系统提供的第二编译工具对所述工程文件进行编译得到所述工程文件的编译结果之后,还包括:

8.一种应用程序编译装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:存储器和处理器;

10.一种可读存储介质,其特征在于,包括:计算机程序指令;

11.一种计算机程序产品,其特征在于,电子设备运行所述计算机程序产品,使得所述电子设备实现如权利要求1至7任一项所述的应用程序编译方法。

...

【技术特征摘要】

1.一种应用程序编译方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述响应依赖安装指令启动所述目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置,包括:

3.根据权利要求1所述的方法,其特征在于,所述响应依赖安装指令启动所述目标插件,通过所述目标插件部署缓存系统以及向应用程序对应的工程配置文件中注入缓存配置之前,还包括:

4.根据权利要求1所述的方法,其特征在于,所述调用所述第一编译工具查询所述缓存系统是否包含所述应用程序对应的工程文件的编译结果,包括:

5.根据权利要求4所述的方法,其特征在于,所述获取所述工程文件的编译结果的标识,包括:

6.根据权利要求1所...

【专利技术属性】
技术研发人员:卢凯文
申请(专利权)人:抖音视界有限公司
类型:发明
国别省市:

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

1