【技术实现步骤摘要】
一种程序封装方法、装置及电子设备
本申请涉及计算机
,尤其涉及一种程序封装方法、装置及电子设备。
技术介绍
现有技术中,应用APP在向第三方应用提供某个服务时,第三方应用往往需要调用应用APP中多个软件开发工具包(SoftwareDevelopmentKit,SDK)来共同完成该服务,而多个SDK之间往往不相关,因此,第三方应用的开发人员需要学习每个SDK的具体内容和编程逻辑,从而给第三方应用带来过多的资源消耗,降低了接入效率。因此,需要提供更快速或者更可靠的程序封装方案。
技术实现思路
有鉴于此,本申请实施例提供了一种程序封装方法、装置及电子设备,用于提高应用程序的接入效率。为解决上述技术问题,本说明书实施例是这样实现的:本说明书实施例提供的一种程序封装方法,包括:获取主程序调用的多个软件开发工具包,所述多个软件开发工具包用于实现所述主程序的辅助功能;对所述主程序进行编译,得到编译文件;当所述编译文件中的资源ID与所述多个软件开发工具包中的资源ID发生冲突时,根据所述编译文件中的资源ID修改所述多个软件开发工具包中的资源ID,以使一个所述资源ID标识的资源文件是唯一的;对所述主程序和修改后的所述多个软件开发工具包进行封装。本说明书实施例提供的另一种程序封装方法,包括:获取主程序调用的多个软件开发工具包,所述多个软件开发工具包用于实现所述主程序的辅助功能;对所述主程序进行编译,得到编译文件;当所述 ...
【技术保护点】
1.一种程序封装方法,包括:/n获取主程序调用的多个软件开发工具包,所述多个软件开发工具包用于实现所述主程序的辅助功能;/n对所述主程序进行编译,得到编译文件;/n当所述编译文件中的资源ID与所述多个软件开发工具包中的资源ID发生冲突时,根据所述编译文件中的资源ID修改所述多个软件开发工具包中的资源ID,以使一个所述资源ID标识的资源文件是唯一的;/n对所述主程序和修改后的所述多个软件开发工具包进行封装。/n
【技术特征摘要】
1.一种程序封装方法,包括:
获取主程序调用的多个软件开发工具包,所述多个软件开发工具包用于实现所述主程序的辅助功能;
对所述主程序进行编译,得到编译文件;
当所述编译文件中的资源ID与所述多个软件开发工具包中的资源ID发生冲突时,根据所述编译文件中的资源ID修改所述多个软件开发工具包中的资源ID,以使一个所述资源ID标识的资源文件是唯一的;
对所述主程序和修改后的所述多个软件开发工具包进行封装。
2.如权利要求1所述的方法,所述根据所述编译文件中的资源ID修改所述多个软件开发工具包中的资源ID,具体包括:
从所述多个软件开发工具包中的资源文件中筛选与所述编译文件中的资源ID相同的资源文件;
根据已有的资源ID,对所述筛选出来的资源文件重新进行资源ID命名。
3.如权利要求2所述的方法,所述根据所述编译文件中的资源ID修改所述多个软件开发工具包中的资源ID,还包括:
将所述多个软件开发工具包中的R.java文件中的资源ID替换为修改后的资源ID;
将所述软件开发工具包中的资源文件引用语句中的资源ID替换为修改后的资源ID。
4.如权利要求1所述的方法,在所述对所述主程序和修改后的所述多个软件开发工具包进行封装之前,所述方法还包括:
解压所述多个软件开发工具包,得到多个manifest文件;
将所述多个manifest文件中的进程名以及所述主程序的manifest文件中的进程名修改为相同的进程名;
合并所述多个manifest文件以及所述主程序的manifest文件,生成合并后的manifest文件。
5.如权利要求4所述的方法,将所述多个manifest文件中的进程名以及所述主程序的manifest文件中的进程名修改为相同的进程名,具体包括:
获取所述主程序的manifest文件中的多个进程名和所述多个manifest文件中的多个进程名;
确定主进程名,所述主进程名为所述主程序的manifest文件中的多个进程名中的一个,或者,所述主进程名为所述多个manifest文件中的多个进程名中的一个;
将所述主程序的manifest文件中的多个进程名修改为所述主进程名;
将所述多个manifest文件中的多个进程名修改为所述主进程名。
6.如权利要求1所述的方法,所述对所述主程序和修改后的所述多个软件开发工具包进行封装,具体包括:
合并所述主程序的源代码和所述多个软件开发工具包的源代码,生成合并后的源代码;
对所述合并后的源代码进行统一混淆。
7.一种程序封装方法,包括:
获取主程序调用的多个软件开发工具包,所述多个软件开发工具包用于实现所述主程序的辅助功能;
对所述主程序进行编译,得到编译文件;
当所述编译文件中的资源ID与所述多个软件开发工具包中的资源ID发生冲突时,修改所述编译文件中的资源ID和所述多个软件开发工具包中的资源ID,以使一个所述资源ID标识的资源文件是唯一的;
对修改后的所述编译文件和修改后的所述多个软件开发工具包进行封装。
8.如权利要求7所述的方法,所述修改所述编译文件中的资源ID和所述多个软件开发工具包中的资源ID,具体包括:
从所述多个软件开发工具包中的资源文件和所述主程序中的资源文件中筛选出具有相同资源ID的多个资源文件;
对筛选出来的所述多个资源文件重新进行资源ID命名。
9.如权利要求7所述的方法,所述修改所述编译文件中的资源ID和所述多个软件开发工具包中的资源ID,还包括:
将所述主程序的R.java文件中的资源ID和所述多个软件开发工具包中的R.java文件中的资源ID替换为修改后的资源ID;
...
【专利技术属性】
技术研发人员:王鹏锋,鲁教,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。