【技术实现步骤摘要】
编译方法、装置、电子设备及可读存储介质
本申请实施例涉及计算机技术,具体涉及编译技术,尤其涉及一种编译方法、装置、电子设备及可读存储介质。
技术介绍
应用程序在发布之前的研发过程中,可能需要进行多次的编译。在编译时,将应用程序的源代码以及相关的资源输入到编译工具中,由编译工具进行编译,并输出应用程序的应用程序包。以安卓操作系统为例,gradle是应用较为广泛的一种编译工具。对于需要运行在安卓操作系统中的应用程序,可使用gradle进行编译。现有技术中,gradle编译应用程序时,将待编译的应用程序的代码和资源作为一个主程序,统一进行编译,进而得到一个统一的编译结果。但是,对于具有插件化需求的应用程序,使用现有的编译方式可能出现插件拆分复杂度高、难以得到预期的插件编译结果等问题。
技术实现思路
本申请实施例提供一种编译方法、装置、电子设备及可读存储介质,用于解决现有技术中插件拆分复杂度高、难以得到预期的插件编译结果的问题。第一方面,本申请实施例提供一种编译方法,包括:在第一编译工程中获取待编译的对象,所述待编译的对象包括待编译的应用程序的代码和资源,所述代码和资源分别归属于所述应用程序的非插件程序以及至少一个插件程序;根据所述非插件程序与所述至少一个插件程序的配置信息,在第一编译工程中对所述待编译的对象进行处理,得到所述非插件程序的资源编译结果、每个所述插件程序的资源编译结果、所述非插件程序的代码编译结果以及每个所述插件程序的代码编译结果;分别 ...
【技术保护点】
1.一种编译方法,其特征在于,包括:/n在第一编译工程中获取待编译的对象,所述待编译的对象包括待编译的应用程序的代码和资源,所述代码和资源分别归属于所述应用程序的非插件程序以及至少一个插件程序;/n根据所述非插件程序与所述至少一个插件程序的配置信息,在第一编译工程中对所述待编译的对象进行处理,得到所述非插件程序的资源编译结果、每个所述插件程序的资源编译结果、所述非插件程序的代码编译结果以及每个所述插件程序的代码编译结果;/n分别输出所述非插件程序的可执行文件和所述插件程序的可执行文件。/n
【技术特征摘要】
1.一种编译方法,其特征在于,包括:
在第一编译工程中获取待编译的对象,所述待编译的对象包括待编译的应用程序的代码和资源,所述代码和资源分别归属于所述应用程序的非插件程序以及至少一个插件程序;
根据所述非插件程序与所述至少一个插件程序的配置信息,在第一编译工程中对所述待编译的对象进行处理,得到所述非插件程序的资源编译结果、每个所述插件程序的资源编译结果、所述非插件程序的代码编译结果以及每个所述插件程序的代码编译结果;
分别输出所述非插件程序的可执行文件和所述插件程序的可执行文件。
2.根据权利要求1所述的方法,其特征在于,所述分别输出所述非插件程序的可执行文件和所述插件程序的可执行文件,包括:
根据所述非插件程序的资源编译结果、所述非插件程序的代码编译结果,通过所述第一编译工程输出所述非插件程序的可执行文件;
根据所述插件程序的资源编译结果和所述插件程序的代码编译结果,通过第二编译工程输出所述插件程序的可执行文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述非插件程序与所述至少一个插件程序的配置信息,在第一编译工程中对所述待编译的对象进行处理,得到所述非插件程序的资源编译结果、每个所述插件程序的资源编译结果、所述非插件程序的代码编译结果以及每个所述插件程序的代码编译结果,包括:
根据所述配置信息,对所述待编译的对象进行资源拆分,得到所述非插件程序的资源和每个所述插件程序的资源;
对所述非插件程序的资源和每个所述插件程序的资源进行编译,得到所述非插件程序的资源编译结果和每个所述插件程序的资源编译结果;
根据所述配置信息,对编译后的代码编译结果进行拆分,得到所述非插件程序的代码编译结果和每个所述插件程序的代码编译结果。
4.根据权利要求3所述的方法,其特征在于,所述对所述非插件程序的资源和每个所述插件程序的资源进行编译,得到所述非插件程序的资源编译结果和每个所述插件程序的资源编译结果,包括:
对所述非插件程序的资源和每个所述插件程序的资源进行编译以及分配标识,得到所述非插件程序的资源编译结果和每个所述插件程序的资源编译结果,所述非插件程序的资源编译结果的标识以及每个所述插件程序的资源编译结果的标识两两不同。
5.根据权利要求3所述的方法,其特征在于,所述对编译后的代码编译结果进行拆分,得到所述非插件程序的代码编译结果和每个所述插件程序的代码编译结果之后,还包括:
对所述非插件程序的代码编译结果和每个所述插件程序的代码编译结果同时进行混淆处理,得到混淆处理后的所述非插件程序的代码编译结果和每...
【专利技术属性】
技术研发人员:高飞,张岱帅,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。