[发明专利]APK文件的快速加载方法在审
| 申请号: | 201510657289.9 | 申请日: | 2015-10-12 |
| 公开(公告)号: | CN105278989A | 公开(公告)日: | 2016-01-27 |
| 发明(设计)人: | 邱寅峰;泮晓波 | 申请(专利权)人: | 邱寅峰 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 常州市科谊专利代理事务所 32225 | 代理人: | 袁兴隆 |
| 地址: | 211100 江苏省南京*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | apk 文件 快速 加载 方法 | ||
1.一种APK文件的快速加载方法,其特征在于:包括以下步骤:
S1、解压所述APK文件并提取其中的DEX文件,将所述DEX文件压缩成JAR文件,其中所述DEX文件的数量为多个,文件名分别为classes2.dex,classes3.dex,…classesN.dex;
S2、初始化一个VM(虚拟机),所述VM将至少一个所述DEX文件制作成ODEX文件,并且在ODEX文件的制作过程中对DEX文件中包含的零个类进行验证和优化;
S3、所述VM调用函数DexFile.loadDex()加载所述ODEX文件。
2.如权利要求1所述的APK文件的快速加载方法,其特征在于:在所述步骤S3中,如果一个ODEX文件在加载时出现异常,所述VM则对此ODEX文件中包含的所有类进行验证,寻找非法指令序列。
3.如权利要求2所述的APK文件的快速加载方法,其特征在于:在所述步骤S3中,如果加载时出现异常的ODEX文件通过验证,所述VM则对此ODEX文件进行优化。
4.如权利要求1所述的APK文件的快速加载方法,其特征在于:所述VM为DalvikVM,在所述步骤S2中,所述DalvikVM调用函数dexopt将DEX文件制作成ODEX文件。
5.如权利要求4所述的APK文件的快速加载方法,其特征在于:在所述步骤S3中,如果一个ODEX文件在加载时出现异常,所述DalvikVM调用函数dexopt对此ODEX文件中包含的所有类进行验证,寻找非法指令序列。
6.如权利要求5所述的APK文件的快速加载方法,其特征在于:如果加载时出现异常的ODEX文件通过验证,所述DalvikVM调用函数dexopt对此ODEX文件进行优化。
7.如权利要求1所述的APK文件的快速加载方法,其特征在于:所述VM为ARTVM,在所述步骤S2中,所述ARTVM调用函数dex2oat将DEX文件制作成ODEX文件。
8.如权利要求7所述的APK文件的快速加载方法,其特征在于:在所述步骤S3中,如果一个ODEX文件在加载时出现异常,所述ARTVM调用函数dex2oat对此ODEX文件中包含的所有类进行验证,寻找非法指令序列。
9.如权利要求8所述的APK文件的快速加载方法,其特征在于:如果加载时出现异常的ODEX文件通过验证,所述ARTVM调用函数dex2oat对此ODEX文件进行优化。
10.如权利要求1~9任一项所述的APK文件的快速加载方法,其特征在于:在所述APK文件的文件结构中所述文件classes2.dex,classes3.dex,…classesN.dex分别对应一个Centraldirectoryfile、一个Localfileheader和一个数据内容,在所述步骤S1中,所述文件classes2.dex压缩成JAR文件的具体步骤为:首先复制所述文件classes2.dex对应的Centraldirectoryfile、Localfileheader和数据内容并且将它们构成JAR文件的文件结构,然后将Centraldirectoryfile中的文件名修改为classes.dex,最后调整Centraldirectoryfile中的指针指向Localfileheader;
所述文件classes3.dex,classes4.dex…classesN.dex压缩成JAR文件的具体步骤与所述文件classes2.dex压缩成JAR文件的具体步骤一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于邱寅峰,未经邱寅峰许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510657289.9/1.html,转载请声明来源钻瓜专利网。





