一种安卓手机应用程序容量监控方法及装置制造方法及图纸

技术编号:24852295 阅读:21 留言:0更新日期:2020-07-10 19:06
本申请公开了一种安卓手机应用程序容量监控方法及装置,在工程根目录下,创建MockLib库,将AAR文件的解压内容写入MockLib库,建立AAR文件与MockLib库的工程依赖关系,得到工程依赖MockLib库;基于对工程依赖MockLib库进行编译打包后的第一应用程序apk包的容量和第二应用程序apk包的容量,监控安卓手机应用程序容量。可见,该方法通过替换AAR依赖为工程依赖,移除AAR依赖中主要占比的图片资源,保留集合压缩文件、清单配置文件和新资源映射关系。通过计算经Mock测试前后的AAR文件在应用程序中的大小,确定应用程序中引用的AAR文件的减少数量,进而有效的监控应用程序容量。

【技术实现步骤摘要】
一种安卓手机应用程序容量监控方法及装置
本申请涉及计算机
,尤其涉及一种安卓手机应用程序容量监控方法及装置。
技术介绍
随着应用程序的应用场景增多,功能繁杂,需引入大量三方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库进行编译打包,得到经Mock测试后...

【技术特征摘要】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1