[发明专利]一种面向安卓应用的安装包体积优化方法及装置有效
| 申请号: | 201710882005.5 | 申请日: | 2017-09-26 |
| 公开(公告)号: | CN109558145B | 公开(公告)日: | 2022-04-22 |
| 发明(设计)人: | 杨琦;韩峰 | 申请(专利权)人: | 北京金山安全软件有限公司 |
| 主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/41 |
| 代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
| 地址: | 100085 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 应用 安装 体积 优化 方法 装置 | ||
1.一种面向安卓应用的安装包体积优化方法,其特征在于,所述方法包括:
遍历待优化安卓系统安装包APK中的封装文件classes.dex,得到所述封装文件classes.dex中的类标识信息;
针对每个类标识信息,判断该类标识信息是否在预设的目标清单中;所述预设的目标清单中存储有预设的不需要进行调试的类的类标识信息;
若为是,删除所述该类标识信息对应的类中包含的调试信息。
2.根据权利要求1所述的方法,其特征在于,所述遍历待优化 安卓系统安装包APK中的封装文件classes.dex,得到所述封装文件classes.dex中的类标识信息的步骤,包括:
遍历所述封装文件classes.dex中的各个类,获得所述各个类的类名称,将所述类名称作为所述类标识信息。
3.根据权利要求1所述的方法,其特征在于,所述删除所述该类标识信息对应的类中包含的调试信息的步骤,包括:
根据所述该类标识信息,确定与所述该类标识信息所对应的目标类;
将所述目标类中所有method中包含的调试信息删除。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述封装文件classes.dex进行调试后,重新确定不需要进行调试的类,并更新所述目标清单。
5.根据权利要求1所述的方法,其特征在于,在判断该类标识信息是否在预设的目标清单中的步骤之前,所述方法还包括:
获得该类别标识信息对应的类中包含的各个method;
针对每个method,判断是否被所述封装文件classes.dex中的其他method调用;
将未被其他method调用的method删除。
6.一种面向安卓应用的安装包体积优化装置,其特征在于,所述装置包括:
遍历模块,用于遍历待优化安卓系统安装包APK中的封装文件classes.dex,得到所述封装文件classes.dex中的类标识信息;
第一判断模块,用于针对每个类标识信息,判断该类标识信息是否在预设的目标清单中;所述预设的目标清单中存储有预设的不需要进行调试的类的类标识信息;
第一删除模块,用于如果所述判断模块判断出该类标识信息为预设的不需要进行调试的类的类标识信息,删除所述该类标识信息对应的类中包含的调试信息。
7.根据权利要求6所述的装置,其特征在于,所述遍历模块,具体用于:
遍历所述封装文件classes.dex中的各个类,获得所述各个类的类名称,将所述类名称作为所述类标识信息。
8.根据权利要求6所述的装置,其特征在于,所述删除模块,包括:
确定单元,用于根据所述该类标识信息,确定与所述该类标识信息所对应的目标类;
删除单元,用于将所述目标类中所有method中包含的调试信息删除。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
更新模块,用于在对所述封装文件classes.dex进行调试后,重新确定不需要进行调试的类,并更新所述目标清单。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
获取模块,用于在所述判断该类标识信息是否为预设的不需要进行调试的类的类标识信息的步骤之前,获得该类别标识信息对应的类中包含的各个method;
第二判断模块,用于针对每个method,判断是否被所述封装文件classes.dex中的其他method调用;
第二删除模块,用于将未被其他method调用的method删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710882005.5/1.html,转载请声明来源钻瓜专利网。





