[发明专利]生成主Dex的方法及装置在审

专利信息
申请号: 201810011448.1 申请日: 2018-01-05
公开(公告)号: CN108073406A 公开(公告)日: 2018-05-25
发明(设计)人: 陈新盛;杨鹏;张颖;潘浩;赵子颖;谢安涛;韩运;王远强 申请(专利权)人: 世纪龙信息网络有限责任公司
主分类号: G06F8/61 分类号: G06F8/61;G06F9/445
代理公司: 广州华进联合专利商标代理有限公司 44224 代理人: 陈金普
地址: 510630 广东省广州市天河*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 第三方 压缩包 自定义 设备运行 再压缩 加载 压缩 检测
【说明书】:

发明涉及一种生成主Dex的方法及装置,其中,生成主Dex的方法包括以下步骤:根据第三方SDK的自定义任务,修改获取到的manifest_keep.txt文件,得到修改后的manifest_keep.txt文件;压缩修改后的manifest_keep.txt文件中的class文件,生成包含所述第三方SDK代码的压缩包;根据压缩包,生成主Dex。本发明实施例,针对Android的低版本的Android系统的设备运行时,根据第三方SDK的自定义任务,可以基于获取到的manifest_keep.txt文件,对manifest_keep.txt文件进行修改,进而再压缩修改后的文件中得到包含第三方的SDK代码的压缩包,根据压缩包生成主Dex。基于生成的主Dex,能够检测到加载的时候注入的第三方SDK的代码,低版本的Android系统不会抛出java.lang.NoClassDefFoundError异常。

技术领域

本发明涉及安卓系统插件领域,特别是涉及一种生成主Dex的方法及装置。

背景技术

在安卓(Android)系统进行应用安装时,会生成虚拟机可执行二进制文件即Dex文件,安装过程中需要对Dex进行优化,这个过程是通过DexOpt工具来处理。DexOpt在Android系统第一次加载Dex文件的时候执行优化程序,生成ODex(optimize dalvik package)文件。Odex是从Android安装包(APK:Android Package)中提取的可运行文件,是通过Android安装包的中的Dex优化过的,再把Android安装包里的dex文件删除。执行ODex的效率会比直接执行Dex文件的效率要高很多。DexOpt在执行过程中会检索每一个类的方法id,存在一个链表结构里。由于链表的长度是用一个short类型来保存的,导致了方法id的数目不能够超过65536个。当一个项目足够大的时候,显然这个方法数的上限是不够的。

在传统技术中,发明人发现至少存在如下问题:尽管在新版本的Android系统中,DexOpt修复了这个问题,但是对低版本的Android系统仍然需要做兼容;在接入第三方软件开发工具包(SDK:Software Development Kit)的时候,SDK代码依赖注入的任务transformClasses With Dex For${variant.name.capitalize()},不会检测依赖和控制主Dex上的class,只会实现代码注入。在启动App时默认只能加载主Dex,如果在App的Application或者主Activity当中注入了代码,而在加载的时候注入的代码在主Dex上检测不到,系统就会抛出java.lang.NoClassDefFoundError异常。

发明内容

基于此,有必要针对低版本的Android系统,在接入第三方SDK的时候,如果APK文件存在多个Dex,并且在Android系统的设备上运行抛出异常的问题,提供一种生成主Dex的方法及装置。

为了实现上述目的,一方面,本发明实施例提供了一种生成主Dex的方法,包括以下步骤:

根据第三方SDK的自定义任务,修改获取到的manifest_keep.txt文件,得到修改后的manifest_keep.txt文件;

压缩修改后的manifest_keep.txt文件中的class文件,生成压缩包;

根据压缩包,生成主Dex。

在其中一个实施例中,修改获取到的manifest_keep.txt文件的步骤包括:

根据自定义任务,在manifest_keep.txt文件的文本末尾增加第三方SDK的入口类或第三方SDK的包名。

在其中一个实施例中,自定义任务为自定义UxMainDexTask任务。

在其中一个实施例中,压缩包为jar格式压缩包;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于世纪龙信息网络有限责任公司,未经世纪龙信息网络有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810011448.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top