The embodiment of the invention provides a method, device and electronic device for managing the installation package to obtain the Java bytecode file of the installation package to be processed; obtains the node data of the Java bytecode file through the ASM framework of the bytecode control framework; performs stack processing on the node data to locate the target log file; replaces the data in the target log file with empty strings. In this way, the log files in the installation package can be automatically searched through ASM framework in the compilation process of the installation package, and the log data in the installation package can be deleted to reduce the size of the installation package.
【技术实现步骤摘要】
一种安装包管理的方法、装置及电子设备
本专利技术涉及的安装包管理
,特别是涉及一种安装包管理的方法、装置及电子设备。
技术介绍
目前,随着手机性能的提高和功能的增强,随着而来的手机中应用的大小也越来越大,这就导致在安装包对用户手机内存的占比越来越大,影响用户对应用的体验效果。现有技术在对手机应用的安装包进行大小减小时通常采用:对res文件(resources,资源文件)中的内容进行精简,包括其中所存放的字符串、程序图标、其他引用图片等;对代码进行分包优化处理,能重用的尽量重用,并且尽量减少Jar文件(JavaArchive,Java归档文件)的引入,通过减少代发的重用率减少安装包的大小。然而,专利技术人在实现本专利技术的过程中发现,现有技术至少存在如下问题:在对安装包进行大小减小时操作较为复杂,通常采用删除安装包的部分数据的方式,例如在对代码进行优化减少重用率,该方法的操作较为复杂,而对于不同的安装包适用效果也并不相同,而其中的res文件进行精简时,相对安装包的大小所能达到的效果也并不明显。而在运行过程中进行优化的方式仍较少。
技术实现思路
本专利技术实施例的目的在于提供一种安装包管理的方法、装置及电子设备,以实现减小安装包大小的目的。具体技术方案如下:第一方面,本专利技术实施例提供了一种安装包管理的方法,包括:获取待处理安装包的Java字节码文件,其中Java字节码文件为待处理安装包的Java源代码经Java语言编译器Javac编译后所得的Java字节码文件;通过字节码操控框架ASM框架获取Java字节码文件的节点数据;对节点数据进行压栈处理,定位目标 ...
【技术保护点】
1.一种安装包管理的方法,其特征在于,用于安装包的编译流程,包括:获取待处理安装包的Java字节码文件,其中所述Java字节码文件为所述待处理安装包的Java源代码经Java语言编译器Javac编译后所得的Java字节码文件;通过字节码操控框架ASM框架获取所述Java字节码文件的节点数据;对所述节点数据进行压栈处理,定位目标日志文件,其中,所述节点数据包括日志文件,所述目标日志文件为所述压栈处理中已经在栈中保存的日志文件;利用空串对所述目标日志文件中数据进行替换。
【技术特征摘要】
1.一种安装包管理的方法,其特征在于,用于安装包的编译流程,包括:获取待处理安装包的Java字节码文件,其中所述Java字节码文件为所述待处理安装包的Java源代码经Java语言编译器Javac编译后所得的Java字节码文件;通过字节码操控框架ASM框架获取所述Java字节码文件的节点数据;对所述节点数据进行压栈处理,定位目标日志文件,其中,所述节点数据包括日志文件,所述目标日志文件为所述压栈处理中已经在栈中保存的日志文件;利用空串对所述目标日志文件中数据进行替换。2.根据权利要求1所述的方法,其特征在于,所述通过字节码操控框架ASM框架获取所述Java字节码文件的节点数据,包括:通过所述字节码操控框架ASM框架中的对象模型访问方式,调用字节码;利用所述字节码调用classnode,通过所述classnode获取节点数据。3.根据权利要求1所述的方法,其特征在于,所述节点数据包括:line类型的节点数据,method类型节点数据,ldc类型节点数据,所述对所述节点数据进行压栈处理,得到目标日志文件,包括:获取line类型的节点数据;从所述line类型的节点数据开始,对所述节点数据依次进行压栈处理,直到得到method类型节点数据;通过所述method类型节点数据,定位目标日志文件。4.根据权利要求3所述的方法,其特征在于,所述method类型节点数据包括字符串METHOD_INSN,所述通过所述method类型节点数据,定位目标日志文件,包括:通过所述字符串METHOD_INSN,定位得到methodowner;通过所述methodowner,定位得到字符串PPLog.e(*),进而定位得到所述目标日志文件。5.根据权利要求1所述的方法,其特征在于,所述利用空串对所述目标日志文件中数据进行替换,包括:对栈中保存的日志文件进行退栈处理,并利用空串对所述栈中保存的日志文件中的引用类型变量字符进行替换。6.一种安装包管理的装置,其特征在于,用于安装包的编译流程,包括:字节码获取模板,用于获取待处理安装包的Java字节码文件,其中所述Java字节码文件为所...
【专利技术属性】
技术研发人员:张韩,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。