[发明专利]一种基于python的R.java文件的优化方法及优化系统有效
申请号: | 201611129939.3 | 申请日: | 2016-12-09 |
公开(公告)号: | CN106648638B | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 刘一琛 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/61 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 python java 文件 优化 方法 系统 | ||
本发明公开了一种基于python的R.java文件的优化方法,涉及计算机文件优化技术领域,包括创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于python字典对象中;创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于路径列表中;遍历路径列表,通过java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;清空R.java文件的内容。本发明还公开了一种基于python的R.java文件的优化系统。
技术领域
本发明涉及计算机文件优化技术领域,具体涉及一种基于python的R.java文件的优化方法及优化系统。
背景技术
在安卓开发过程中,随着系统版本的更新与迭代,应用程序的体积会越来越大,出于用户流量费用的考虑,优化应用程序的安装包大小,从而减少用户的流量成为一项亟需解决的技术问题。
目前主流优化应用程序安装包大小的方案有两种,一种是清理无用的so文件。应用程序的安装包中为了兼容性会放入多个处理器架构的so文件,导致应用程序安装包变大,但是其实大多数处理器都只兼容其中一种处理器架构,因而只能使用一种处理器架构的so文件。于是在编译时期将其他处理器的so文件过滤掉,能够减少应用程序安装包的大小。其缺点就是对于没有使用native层接口的应用程序,没有优化的空间。
另外一种方案就是编译混淆,通过混淆器更改文件名为更小的字符。其缺陷是,对于应用中使用了反射相关的类不能进行混淆,不然应用在运行其会找不到该类。
同时,在安卓系统中一个应用的dex文件的支持的方法数的数量有上限,如果超过上限需要将应用拆分成多个dex文件,应用启动时会额外的花时间组合多个dex文件,导致应用的启动变慢。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于python的R.java文件的优化方法及优化系统,优化应用程序安装包大小,减少应用程序的dex文件分包数量。
为达到以上目的,本发明采取的技术方案是:一种基于python的R.java文件的优化方法,所述R.java文件用于存储应用程序中java代码源文件调用资源的资源名称和资源值,该方法包括:
步骤S1,创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于所述python字典对象中;
步骤S2,创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于所述路径列表中;
步骤S3,遍历所述路径列表,通过所述java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;
步骤S4,清空R.java文件的内容。
在上述技术方案的基础上,R.java文件的路径在应用程序的安装包名的直接目录下。
在上述技术方案的基础上,所述资源值为常量或变量值。
在上述技术方案的基础上,步骤S1的具体过程包括:
S101,找到R.java文件的目录;
S102,遍历R.java文件的目录,获得其资源的资源名称;
S103,遍历全部资源,获取其资源值;
S104,将资源名称和资源值存储到所述python字典对象中。
在上述技术方案的基础上,遍历R.java文件的目录,获得其资源的资源名称包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611129939.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟桌面的创建方法及系统
- 下一篇:一种基于安卓系统的文本渐变方法和系统