[发明专利]一种应用程序运行方法及装置有效
申请号: | 202110278139.2 | 申请日: | 2021-03-15 |
公开(公告)号: | CN112988287B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 周明付;李芳友 | 申请(专利权)人: | 上海益世界信息技术集团有限公司广州分公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F21/64 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 郭化雨 |
地址: | 510620 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 运行 方法 装置 | ||
本申请实施例公开了一种应用程序运行方法及装置,其中该方法包括:从APK文件信息中获取APK方法数信息、以及与该APK方法数信息对应的smali文件信息;对于APK方法数信息超出预设的APK方法数信息阈值的APK文件信息,可以基于该APK方法数信息阈值,将APK方法数信息对应的smali文件信息分配至多个dex文件夹中,每个dex文件夹中包括的smali文件信息对应的APK方法数信息均小于或等于APK方法数信息阈值;进而,对这多个dex文件夹进行签名生成APK。该方法能够动态修改APK,从而防止方法数信息超出限制。
技术领域
本申请涉及计算机技术领域,具体涉及一种应用程序运行方法及装置。
背景技术
Dex文件是Android平台上(Dalvik虚拟机)的可执行文件,相当于Windows平台中的exe文件,每个应用程序安装包(Android application package,APK)中都有Dex文件,其中包括了该应用程序(Application,APP)的所有源码。
Dex文件安装到设备的过程非常复杂,如果Dex文件太大可能导致应用无响应,此时需要使用ProGuard工具减小Dex文件的大小。此外,受到DalviklinearAlloc的限制,Dex文件请求大容量内存时可能会导致应用程序崩溃;具体的,DalviklinearAlloc是一个固定大小的缓冲区,例如,对于系统Android 2.2和2.3的该缓冲区的大小为5MB,对于Android4.x该缓冲区的大小被提高至8MB或16MB;在启动运行应用程序的过程中,系统会运行dexopt进程为该应用程序在当前机型中的运行做准备,该dexopt进程需要使用DalviklinearAlloc来存储应用的方法信息,当方法信息数量过多超出缓冲区大小时,将会导致dexopt进程崩溃,无法正常运行该应用程序。
发明内容
本申请实施例提供了一种应用程序运行方法及装置,能够动态修改APK,从而防止方法数信息超出限制。
有鉴于此,本申请第一方面提供了一种应用程序运行方法,所述方法包括:
从应用程序包APK文件信息中获取APK方法数信息、以及与所述APK方法数信息对应的smali文件信息;
对于所述APK方法数信息超出预设的APK方法数信息阈值的所述APK文件信息,基于所述APK方法数信息阈值,将所述APK方法数信息对应的smali文件信息分配至多个dex文件夹中;每个所述dex文件夹中包括的smali文件信息对应的APK方法数信息小于或等于所述APK方法数信息阈值;
对所述多个dex文件夹进行签名,生成APK。
可选的,所述基于所述APK方法数信息阈值,将所述APK方法数信息对应的smali文件信息分配至多个dex文件夹中,包括:
将超出所述APK方法数信息阈值的所述APK方法数信息,作为待拆分APK方法数信息;
将所述待拆分APK方法数信息与所述APK方法数信息阈值进行匹配,将所述待拆分APK方法数信息中超出所述APK方法数信息阈值的APK方法数信息,作为待迁移APK方法数信息;将所述待拆分APK方法数信息中未超出所述APK方法数信息阈值的APK方法数信息,作为保留APK方法数信息;
在所述待迁移APK方法数信息小于或等于所述APK方法数信息阈值的情况下,将所述保留APK方法数信息对应的smali文件信息和所述待迁移APK方法数信息对应的smali文件信息,分别放置于不同的dex文件夹;
在所述待迁移APK方法数信息大于所述APK方法数信息阈值的情况下,将所述待迁移APK方法数信息作为新的待拆分APK方法数信息,针对所述新的待拆分APK方法数信息执行上述操作,直至得到的待迁移APK方法数信息小于或等于所述APK方法数信息阈值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海益世界信息技术集团有限公司广州分公司,未经上海益世界信息技术集团有限公司广州分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110278139.2/2.html,转载请声明来源钻瓜专利网。