【技术实现步骤摘要】
一种安卓手机应用程序容量监控方法及装置
本申请涉及计算机
,尤其涉及一种安卓手机应用程序容量监控方法及装置。
技术介绍
随着应用程序的应用场景增多,功能繁杂,需引入大量三方JAR包或者AAR文件,使得最终生成的APK文件大小急剧增大。AAR(AndroidArchive)是一个Android库项目的二进制归档文件,文件扩展名为.aar。AAR文件包括:集合压缩文件(classes.jar)、清单配置文件(AndroidManifest.xml)、资源映射关系文件(R.txt)和图片资源(res)。应用程序在开发时,由于需引入大量AAR文件以实现更多的功能,导致编译打包成的APK文件越来越大,进而使得应用程序容量也越来越大。为避免应用程序容量越来越大,占用过多的安卓手机内存,需在开发过程中有效降低APK文件大小,而降低APK文件大小,也就是减少开发时引用AAR文件的数量。由于根据所有被引用的AAR文件的容量之和可以推测出应用程序的容量,因此每减少一个被引用的AAR文件,应用程序的容量中就会减少该ARR文件 ...
【技术保护点】
1.一种安卓手机应用程序容量监控方法,当所述应用程序引入Android Archive文件时,其特征在于,包括:/n在工程根目录下,创建MockLib库,所述MockLib库用于写入所述Android Archive文件的解压内容;/n对所述Android Archive文件进行解压,得到所述Android Archive文件的解压内容;/n将所述Android Archive文件的所述解压内容写入所述MockLib库,建立所述AndroidArchive文件与所述MockLib库的工程依赖关系,得到工程依赖MockLib库;/n对所述工程依赖MockLib库进行编译打包, ...
【技术特征摘要】
1.一种安卓手机应用程序容量监控方法,当所述应用程序引入AndroidArchive文件时,其特征在于,包括:
在工程根目录下,创建MockLib库,所述MockLib库用于写入所述AndroidArchive文件的解压内容;
对所述AndroidArchive文件进行解压,得到所述AndroidArchive文件的解压内容;
将所述AndroidArchive文件的所述解压内容写入所述MockLib库,建立所述AndroidArchive文件与所述MockLib库的工程依赖关系,得到工程依赖MockLib库;
对所述工程依赖MockLib库进行编译打包,得到经Mock测试后的第一应用程序apk包,以及,确定所述第一应用程序apk包的容量;
获取基于所述AndroidArchive文件进行编译打包得到的第二应用程序apk包的容量;
基于所述第一应用程序apk包的容量以及所述第二应用程序apk包的容量,监控所述安卓手机应用程序容量。
2.根据权利要求1所述的方法,其特征在于,所述将AndroidArchive文件的所述解压内容写入所述MockLib库,建立所述AndroidArchive文件与所述MockLib库的工程依赖关系,得到工程依赖MockLib库,包括:
所述AndroidArchive文件的解压内容包括集合压缩文件、清单配置文件和资源映射关系文件;所述MockLib库内配置有Libs目录和Lib库根目录;
将所述集合压缩文件添加至所述Libs目录下,以及,将所述清单配置文件添加至所述Lib库根目录下,得到新MockLib库;
将所述AndroidArchive文件中的AAR依赖关系解除,与所述新MockLib库建立工程依赖关系;
基于所述资源映射关系文件,进行ID样式还原,得到新资源映射关系;
将所述新资源映射关系添加至与所述AndroidArchive文件建立工程依赖关系的新MockLib库中,得到工程依赖MockLib库。
3.根据权利要求2所述的方法,其特征在于,所述将AndroidArchive文件中的AAR依赖关系解除,与所述新MockLib库建立工程依赖关系,包括:
获取所述AndroidArchive文件的AAR依赖关系;
将所述AAR依赖关系中的AAR依赖值移除,得到空AAR依赖关系;
调用所述新MockLib库的工程依赖关系,替换所述空AAR依赖关系,建立AndroidArchive文件与新MockLib库的依赖关系。
4.根据权利要求2所述的方法,其特征在于,所述基于资源映射关系文件,进行ID样式还原,得到新资源映射关系,包括:
基于所述资源映射关系文件,获取目标ID值;所述资源映射关系文件包括数组相对应的值、属性、属性名称和ID值;
以所述目标ID值,确定对应的目标属性名称;
基于所述目标属性名称,确定对应的目标属性;
基于所述目标属性,确定属性引用关系;
利用归属所述属性引用关系,生成新资源映射关系。
5.根据权利要求1所述的方法,其特征在于,所述基于第一应用程序apk包的容量以及所述第二应用程序apk包的容量,监控所述安卓手机应用程序容量,包括:
基于所述第一应用程序apk包的容量以及所述第二应用程序apk包的容量,计算两个应用程序apk包的容量差;
以所述两个应用程序apk包的容量差作为所述AndroidArchive文件在所述应用程序中的大小,基于所述AndroidArchive文件的大小监控所述安卓手机应用程序容量。
6.一种安卓手机应用程序容量监控装置,当所述应用程序引入AndroidArchive文件时,其特征在于,包括:
MockLib库创建模块,用于在工程根目录下,创建MockLib库,所述MockLib库用于写入所述AndroidArchive文件的解压内容;
解压内容确...
【专利技术属性】
技术研发人员:杨文蛟,
申请(专利权)人:北京五八信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。