生成应用程序安装包的方法及装置的制造方法

文档序号:9452828阅读:187来源:国知局
生成应用程序安装包的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及无线通信领域,特别涉及一种生成应用程序安装包的方法及装置。
【背景技术】
[0002] 随着应用程序的功能越来越多,应用程序中所用到的图片、文字、布局的增多,应 用程序安装包也越来越大,给本身的存储容量就很有限的手持智能终端带来了较大的压 力。而且随着移动互联网的发展,攻击手持智能终端、反编译篡改应用程序安装包的技术也 在逐渐成熟,在这个时代背景下,减小应用程序安装包的大小和提高反编译篡改应用程序 安装包难度的需求越发强烈。
[0003] 如何针对应用程序安装包中占用存储空间较大的图片、文字、布局等资源文件进 行处理,以减少应用程序安装包的大小及提高反编译篡改的难度,目前还没有相关的解决 方法。

【发明内容】

[0004] 为了解决现有技术中不能对应用程序安装包的资源文件进行相关处理,从而不能 减小应用程序安装包的大小和提高篡改应用程序安装包难度的问题,本发明实施例提供了 一种生成应用程序安装包的方法及装置。
[0005] 第一方面,本发明实施例提供了一种生成应用程序安装包的方法,所述方法包 括:
[0006] 获取应用程序中的资源文件夹中的资源文件的名称,以及代码文件夹中的代码文 件中资源文件的调用位置;
[0007] 当所述资源文件的名称的长度大于设定阈值时,将资源文件夹中的资源文件的 名称和所述代码文件中调用位置处的资源文件名称替换为一长度小于所述设定阈值的名 称;
[0008] 将资源文件夹中名称替换后的资源文件、调用位置处的资源文件名称替换后的代 码文件和所述应用程序的其余文件打包,生成所述应用程序的安装包。
[0009] 第二方面,本发明实施例提供了一种生成应用程序安装包的装置,所述装置包 括:
[0010] 获取模块,用于获取应用程序中的资源文件夹中的资源文件的名称,以及代码文 件夹中的代码文件中资源文件的调用位置;
[0011] 替换模块,用于当所述资源文件的名称的长度大于设定阈值时,将资源文件夹中 的资源文件的名称和所述代码文件中调用位置处的资源文件名称替换为一长度小于所述 设定阈值的名称;
[0012] 打包模块,用于将资源文件夹中名称替换后的资源文件、调用位置处的资源文件 名称替换后的代码文件和所述应用程序的其余文件打包,生成所述应用程序的安装包。
[0013] 本发明实施例通过获取应用程序中的资源文件夹中的资源文件的名称,以及代码 文件夹中的代码文件中资源文件的调用位置;当所述资源文件的名称的长度大于设定阈值 时,将资源文件夹中的资源文件的名称和所述代码文件中调用位置处的资源文件名称替换 为一长度小于所述设定阈值的名称;将资源文件夹中名称替换后的资源文件、调用位置处 的资源文件名称替换后的代码文件和所述应用程序的其余文件打包,生成所述应用程序的 安装包,从而减小了应用程序安装包的大小,提高了应用程序安装包反编译篡改的难度,同 时减小了应用程序运行时所占用的内存空间。
【附图说明】
[0014] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
[0015] 图1是本发明实施例公开的一种生成应用程序安装包的方法的流程图;
[0016] 图2是本发明实施例公开的另一种生成应用程序安装包的方法的流程图;
[0017] 图3是本发明实施例公开的资源文件夹中的资源文件的名称以及代码文件夹中 的代码文件中资源文件的调用位置的存储结构示意图;
[0018] 图4是本发明实施例公开的一种生成应用程序安装包的装置的结构示意图;
[0019] 图5是本发明实施例公开的另一种生成应用程序安装包的装置的结构示意图。
【具体实施方式】
[0020] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。
[0021] 本发明实施例公开了一种生成应用程序安装包的方法及装置,通过将应用程序中 的资源文件夹中的资源文件的名称和所述调用位置处的资源文件名称替换为一长度小于 所述设定阈值的名称,从而减小了应用程序安装包的大小,提高了应用程序安装包反编译 篡改的难度,同时减小了应用程序运行时所占用的内存空间。以下分别通过实施例进行详 细说明。
[0022] 请参阅图1,图1示出了本发明实施例公开的一种生成应用程序安装包的方法的 流程图。如图1所示,该生成应用程序安装包的方法可以包括以下步骤:
[0023] S101:获取应用程序中的资源文件夹中的资源文件的名称,以及代码文件夹中的 代码文件中资源文件的调用位置;
[0024] android应用程序包括代码文件、资源文件和配置文件等,其中代码文件存储在应 用程序的代码文件夹中,资源文件存储在应用程序的资源文件夹中。
[0025] 具体地,android应用程序的资源文件包括图片、文字、布局文件、动画效果配置文 件、颜色值和固定数值等,为了开发方便、表达清晰,很多的资源的名称都很长,例如,名称 为add_friend_recommend_layout. xml的布局文件,调用这个布局文件的时候,在代码中 占据比较多的字符,如layout= 〃@layout/add_friend_recommend_layout〃/>。这种资源 文件很多的话,会直接导致应用程序安装包变大,而且运行时占用的内存也会较大。
[0026] 本发明实施例中,在应用程序打包之前,扫描应用程序全套项目,找出资源文件 夹中所有的资源文件和代码文件夹中调用资源文件的代码文件,并获取找出的资源文件 夹中所有的资源文件的名称,获取代码文件夹中的代码文件中资源文件的调用位置,所述 调用位置具体为代码文件的第几行或者第几行第几列。资源文件包括图片、文字、布局 文件、动画效果配置文件、颜色值和固定数值等。比如,名称为add_friend_recommend_ layout,xml的布局文件,名称为add_friend.xml的文件第79行调用了该布局文件;名称 为R.drawable.icon的资源文件,名称为BaseApplicationlmpl.java的文件第131行,第 24列到第39列调用了该资源文件。
[0027]S102:当所述资源文件的名称的长度大于设定阈值时,将资源文件夹中的资源文 件的名称和所述代码文件中调用位置处的资源文件名称替换为一长度小于所述设定阈值 的名称;
[0028] 具体地,可先设定阈值,阈值可以为,例如,4个字符。判断步骤S101中找出的资 源文件夹中的所有资源文件的名称的长度是否大于设定阈值,若资源文件的名称的长度大 于设定阈值,则将资源文件夹中的资源文件的名称和代码文件中调用位置处的资源文件 名称替换为一长度小于所述设定阈值的名称;若资源文件的名称的长度小于等于设定阈 值,则不对资源文件夹中的资源文件的名称和代码文件中调用位置处的资源文件名称进行 替换。进一步,可用英文字母或英文字母和数字的组合来替换资源文件夹中的资源文件 的名称和代码文件中调用位置处的资源文件名称。例如,设定阈值为4个字符,布局文件 add_friend_recommend_layout. xml的名称的长度为27个字符,其长度超过4个字符,贝丨J 将add_friend_recommend_layout. xml替换为:auo. xml,替换后的名称的长度小于4个 字符;相应的将调用该布局文件的add_friend. xml文件的第79行做如下替换:替换前为 layout= 〃@layout/add_friend_recommend_layout〃/>,替换后为layout =〃@layout/ auo〃/>。又如,strings, xml文件中的内容〈string name =〃cancel〃>取消〈/string〉,其 中cancel为6个字符,其长度超过4字符,则将〈string name = "cancel"〉取消〈/string〉 替换为:〈string name =〃a2〃>取消〈/string〉,调用此文字资源的TroopShareUtility. java代码中,将chooseShareTypeSheet. addCancelButton(R. string, cancel)替换为: chooseShareTypeSheet. addCancelButton(R. string. a2)〇
[0029]S103:将资源文件夹中名称替换后的资源文件、调用位置处的资源文件名称替换 后的代码文件和所述应用程序的其余文件打包,生成所述应用程序的安装包;
[0030] 具体地,将步骤
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1