安卓安装包集成软件开发工具包的法、装置及存储介质制造方法及图纸

技术编号:19056287 阅读:31 留言:0更新日期:2018-09-29 12:04
本发明专利技术提供了一种APK的软件开发工具包的集成方法、装置及存储介质。该方法包括:根据软件开发工具包的更新内容,确定更新内容在APK中包含的Dex字节码文件内的对应位置;根据软件开发工具包的更新内容,对位于对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件。本发明专利技术能够实现对APK包中的Dex字节码文件直接进行修改,使得集成SDK的过程中,不必将整个APK重新编译生成新的Dex字节码文件,进而提升APK开发效率。

【技术实现步骤摘要】
安卓安装包集成软件开发工具包的法、装置及存储介质
本专利技术涉及软件开发领域,尤其涉及一种安卓安装包集成软件开发工具包的方法、装置及存储介质。
技术介绍
安卓安装包(AndroidPackage,APK)是把安卓软件开发工具包(SoftwareDevelopmentKit,SDK)编译并打包而形成的一个安装程序文件,其中包含有Dex字节码文件。Dex字节码文件是Dalvik虚拟机专属的文件执行格式,Dalvik是谷歌公司专门为安卓操作系统设计的虚拟机,每个APK安装包中都有Dex字节码文件,里面包含了该应用的所有源码。借助如apktool或Dex2jar+jd-gui等工具可以查看Dex字节码文件中的代码。安卓(Android)系统开发中经常需要集成第三方SDK,大部分都是通过将SDK打包成jar格式文件或者是aar格式文件,经过重新编译后将SDK集成入APK。由于每次集成SDK都需要将整个APK重新编译,使得APK开发效率下降。因此亟待一种将SDK高效集成进APK的方法。
技术实现思路
有鉴于此,本专利技术实施例提供了一种安卓安装包集成软件开发工具包的方法、装置及存储介质,能够在APK中集成软件开发工具包。本专利技术的一个方面提供一种安卓安装包集成软件开发工具包的方法,包括:根据软件开发工具包的更新内容,确定更新内容在安卓安装包中包含的Dex字节码文件内的对应位置;根据软件开发工具包的更新内容,对位于对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件。在本专利技术的一个实施例中,对位于对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件,包括:在对应位置添加指令,其中,指令用于执行Dex字节码文件之外的代码;其中,Dex字节码文件之外的代码包括:包含软件开发工具包的更新内容的代码;在本专利技术的一个实施例中,对位于对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件,包括:将更新内容添加到对应位置;或者用更新内容替换原来位于对应位置的Dex字节码。在本专利技术的一个实施例中,还包括:解压安卓安装包,获取Dex字节码文件;将修改后的文件压缩生成修改后的安卓安装包,修改后的文件包括:修改后的Dex字节码文件。在本专利技术的一个实施例中,方法还包括:检索安卓安装包内包含的AndroidManifest.xml文件,获取组件的信息,其中,信息包括:组件的启动位置;根据软件开发工具包的更新内容,确定更新内容在安卓安装包中包含的Dex字节码文件内的对应位置,包括:根据启动位置和软件开发工具包的更新内容,检索安卓安装包内包含的Dex字节码文件内容,获取更新内容在Dex字节码文件内的对应位置,其中方法还包括:根据软件开发工具包的更新内容,更新AndroidManifest.xml文件的内容,生成修改后的AndroidManifest.xml;生成修改后的安卓安装包,其中,修改后的安卓安装包含修改后的AndroidManifest.xml。在本专利技术的一个实施例中,软件开发工具包的更新内容包括:用户权限、函数和类中的至少一项。本专利技术的另一个方面提供一种安卓安装包集成软件开发工具包的装置,包括:定位模块,用于根据软件开发工具包的更新内容,确定更新内容在安卓安装包中包含的Dex字节码文件内的对应位置;修改模块,用于根据软件开发工具包的更新内容,对位于对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件。在本专利技术的一个实施例中,修改模块在对应位置添加指令,其中,指令用于执行Dex字节码文件之外的代码;其中,Dex字节码文件之外的代码包括:包含软件开发工具包的更新内容的代码。在本专利技术的一个实施例中,修改模块将更新内容添加到对应位置;或者用更新内容替换原来位于对应位置的Dex字节码。在本专利技术的一个实施例中,定位模块还用于,解压安卓安装包,获取Dex字节码文件;修改模块还用于,将修改后的文件压缩生成修改后的安卓安装包,修改后的文件包括:修改后的Dex字节码文件。在本专利技术的一个实施例中,定位模块还用于,检索安卓安装包内包含的AndroidManifest.xml文件,获取组件的信息,其中,信息包括:组件的启动位置;根据软件开发工具包的更新内容,确定更新内容在安卓安装包中包含的Dex字节码文件内的对应位置,包括:根据启动位置和软件开发工具包的更新内容,检索安卓安装包内包含的Dex字节码文件内容,获取更新内容在Dex字节码文件内的对应位置,修改模块还用于:根据软件开发工具包的更新内容,更新AndroidManifest.xml文件的内容,生成修改后的AndroidManifest.xml;以及生成修改后的安卓安装包,其中,修改后的安卓安装包含修改后的AndroidManifest.xml。在本专利技术的一个实施例中,软件开发工具包的更新内容包括:用户权限、函数和类中的至少一项。本专利技术的另一个方面提供一种存储介质,其上存储有计算机可执行指令,其特征在于,可执行指令被处理器执行时实现上述安卓安装包集成软件开发工具包的方法。根据本专利技术实施例提供的技术方案,通过根据软件开发工具包的更新内容,确定更新内容在安卓安装包中包含的Dex字节码文件内的对应位置;根据软件开发工具包的更新内容,对位于对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件,实现了对安卓安装包中的Dex字节码文件直接进行修改,使得集成SDK的过程中,不必将整个APK重新编译生成新的Dex字节码文件,进而提升APK开发效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1是根据本专利技术一示例性实施例示出的一种安卓安装包集成软件开发工具包的方法的流程图。图2是根据本专利技术一示例性实施例示出的一种安卓安装包集成软件开发工具包方法的流程图。图3是根据本专利技术一示例性实施例示出的一种安卓安装包集成软件开发工具包的装置的框图。图4是根据本专利技术一示例性实施例示出的用于安卓安装包集成软件开发工具包的装置的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是根据本专利技术一示意性实施例示出的一种安卓安装包集成软件开发工具包的方法的流程图,如图1所示,该方法包括:步骤110:确定更新内容在Dex字节码文件内的对应位置。在本专利技术实施例中,开发人员根据SDK的更新内容,检索Dex字节码文件的内容,并确定更新内容在Dex字节码文件中的位置。例如,在本专利技术实施例中,SDK的更新内容包括更新APK中某一函数,开发人员通过代码查看工具在Dex字节码文件中找到此函数所对应的位置。在本专利技术的另一个实施例中,SDK的更新内容包括添加一个新的令牌(token)字符串。开发人员通过代码查看工具,检索Dex字节码文件的内容,在Dex字节码文件中记录令牌字符串的部分,根据字母和数字的排列顺序,确定新的令牌字符串所要被添加到的本文档来自技高网...

【技术保护点】
1.一种安卓安装包集成软件开发工具包的方法,其特征在于,包括:根据软件开发工具包的更新内容,确定所述更新内容在所述安卓安装包中包含的Dex字节码文件内的对应位置;根据所述软件开发工具包的更新内容,对位于所述对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件。

【技术特征摘要】
1.一种安卓安装包集成软件开发工具包的方法,其特征在于,包括:根据软件开发工具包的更新内容,确定所述更新内容在所述安卓安装包中包含的Dex字节码文件内的对应位置;根据所述软件开发工具包的更新内容,对位于所述对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件。2.根据权利要求1所述的内容,其特征在于,所述对位于所述对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件,包括:在所述对应位置添加指令,其中,所述指令用于执行所述Dex字节码文件之外的代码;其中,所述Dex字节码文件之外的代码包括:包含所述软件开发工具包的更新内容的代码。3.根据权利要求1所述的内容,其特征在于,所述对位于所述对应位置的Dex字节码进行修改,以生成修改后的Dex字节码文件,包括:将所述更新内容添加到所述对应位置;或者用所述更新内容替换原来位于所述对应位置的Dex字节码。4.根据权利要求1至3中的任一项所述的内容,其特征在于,还包括:解压所述安卓安装包,获取所述Dex字节码文件;将修改后的文件压缩生成修改后的安卓安装包,所述修改后的文件包括:所述修改后的Dex字节码文件。5.根据权利要求1至3中的任一项所述的方法,其特征在于,所述方法还包括:检索安卓安装包内包含的AndroidManifest.xml文件,获取组件的信息,其中,所述信息包括:所述组件的启动位置;所述根据软件开发工具包的更新内容,确定所述更新内容在所述安卓安装包中包含的Dex字节码文件内的对应位置,包括:根据所述启动位置和所述软件开发工具包的更新内容,检索所述安卓安装包内包含的所述Dex字节码文件内容,获取所述更新内容在所述Dex字节码文件内的对应位置,其中所述方法还包括:根据所述软件开发工具包的更新内容,更新所述AndroidManifest.xml文件的内容,生成修改后的AndroidManifest.xml;生成修改后的...

【专利技术属性】
技术研发人员:龚安简军
申请(专利权)人:北京美好人生伙伴信息技术有限公司
类型:发明
国别省市:北京,11

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

1