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

文档序号:9452828阅读:来源:国知局
篡改应用程序安装包的难度。
[0057] 请参阅图4,图4示出了本发明实施例提供的一种生成应用程序安装包的装置的 结构示意图。如图4所示,该生成应用程序安装包的装置40可以包括获取模块401、替换模 块402和打包模块403,其中:
[0058] 获取模块401,用于获取应用程序中的资源文件夹中的资源文件的名称,以及代码 文件夹中的代码文件中资源文件的调用位置。具体地,在应用程序打包之前,扫描应用程序 全套项目,找出资源文件夹中所有的资源文件和代码文件夹中调用资源文件的代码文件, 并获取找出的资源文件夹中所有的资源文件的名称,获取代码文件夹中的代码文件中资源 文件的调用位置,所述调用位置具体为代码文件的第几行或者第几行第几列。。资源文件 包括图片、文字、布局文件、动画效果配置文件、颜色值和固定数值等。比如,名称为add_ friend_recommend_layout.xml的布局文件,名称为add_friend.xml的文件第79行调用了 该布局文件;名称为R.drawable.icon的资源文件,名称为BaseApplicationlmpl.java的 文件第131行,第24列到第39列调用了该资源文件。
[0059] 替换模块402,用于当所述资源文件的名称的长度大于设定阈值时,将资源文件 夹中的资源文件的名称和所述代码文件中调用位置处的资源文件名称替换为一长度小于 所述设定阈值的名称。具体地,可先设定阈值,阈值可以为,例如,4个字符。判断找出的 资源文件夹中的所有资源文件的名称的长度是否大于设定阈值,若资源文件的名称的长度 大于设定阈值,则将资源文件夹中的资源文件的名称和代码文件中调用位置处的资源文件 名称替换为一长度小于所述设定阈值的名称;若资源文件的名称的长度小于等于设定阈 值,则不对资源文件夹中的资源文件的名称和代码文件中调用位置处的资源文件名称进行 替换。进一步,可用英文字母或英文字母和数字的组合来替换资源文件夹中的资源文件 的名称和代码文件中调用位置处的资源文件名称。例如,设定阈值为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字符,则将〈stringname= "cancel"〉取消〈/string〉 替换为:〈stringname= 〃a2〃> 取消〈/string〉,调用此文字资源的TroopShareUtility. java代码中,将chooseShareTypeSheet.addCancelButton(R.string,cancel)替换为: chooseShareTypeSheet.addCancelButton(R.string.a2)〇
[0060] 打包模块403,用于将资源文件夹中名称替换后的资源文件、调用位置处的资源 文件名称替换后的代码文件和所述应用程序的其余文件打包,生成所述应用程序的安装 包。具体地,将资源文件夹中名称替换后的资源文件、调用位置处的资源文件名称替换 后的代码文件和应用程序的其余文件,利用ant脚本调用android提供的软件开发工具 包(SoftwareDevelopmentKit,简称SDK)中的打包工具aapt(AndroidAssetPackaging Tool)进行打包,生成应用程序安装包(AndroidPackage,简称APK)。其中,应用程序的其余 文件包括:名称长度小于等于设定阈值的资源文件夹中的资源文件、调用该资源文件的代 码文件、其他配置文件等。具体的打包方法同现有技术,在此不再赘述。
[0061] 在图4提供的生成应用程序安装包的方法中,获取应用程序中的资源文件夹中的 资源文件的名称,以及代码文件夹中的代码文件中资源文件的调用位置;当所述资源文件 的名称的长度大于设定阈值时,将资源文件夹中的资源文件的名称和所述代码文件中调用 位置处的资源文件名称替换为一长度小于所述设定阈值的名称;将资源文件夹中名称替换 后的资源文件、调用位置处的资源文件名称替换后的代码文件和所述应用程序的其余文件 打包,生成所述应用程序的安装包,从而减小了应用程序安装包的大小,同时减小了应用程 序运彳丁时所占用的内存空间。
[0062] 请参阅图5,图5示出了本发明实施例公开的另一种生成应用程序安装包的的装 置的结构示意图。其中,图5所示的生成应用程序安装包的装置是由图4所示的生成应用 程序安装包的装置进行优化得到的。在图5所示的生成应用程序安装包的装置50中,进一 步包括了判断模块501、正常打包模块502、地图日志文件生成模块503,而获取模块401可 进一步包括扫描单元4011和存储单元4012,装置50还包括打包模块403,其中:
[0063] 判断模块501 :用于打包应用程序之前,判断是否对应用程序进行处理。具体地, 当完成应用程序的开发,准备进行打包以生成应用程序安装包之前,判断是否对应用程序 进行处理,若要对应用程序进行测试,则不对应用程序进行处理;否则,则对应用程序进行 处理。
[0064] 正常打包模块502 :用于正常打包应用程序。具体地,利用ant脚本调用 android提供的软件开发工具包(SoftwareDevelopmentKit,简称SDK)中的打包工具 aapt(AndroidAssetPackagingTool),将代码文件、资源文件以及其他配置文件打包,生成 应用程序安装包(AndroidPackage,简称APK)。
[0065] 获取模块401中的扫描单元4011,用于扫描所述应用程序,获取应用程序中的资 源文件夹中的资源文件的名称,以及代码文件夹中的代码文件中资源文件的调用位置。具 体地,遍历应用程序全套项目中的所有文件,找出资源文件夹中所有的资源文件和代码文 件夹中调用资源文件的代码文件,并获取找出的资源文件夹中所有的资源文件的名称,获 取代码文件夹中的代码文件中资源文件的调用位置,所述调用位置具体为代码文件的第 几行或者第几行第几列。资源文件包括图片、文字、布局、动画效果配置文件、颜色值和固 定数值等。比如,名称为add_friend_recommend_layout.xml的布局文件,名称为add_ friend,xml的文件第79行调用了该布局文件;名称为R.drawable.icon的资源文件,名称 为BaseApplicationlmpl.java的文件第131行,第24列到第39列调用了该资源文件。
[0066] 获取模块401中的存储单元4012,用于以键值的形式存储所述资源文件夹中的资 源文件的名称以及代码文件夹中的代码文件中资源文件的调用位置。按照图3的结构,将 获取的找出的资源文件夹中所有的资源文件的名称以键值的形式进行存储,将代码文件夹 中的代码文件中资源文件的调用位置以链表的形式进行存储。例如:名称为R.drawable. icon的资源文件1,调用该资源文件1的调用位置1为:BaseApplicationlmpl.java文件第 131行第24列到第39列;调用该资源文件1的调用位置2为:SplashActivityCore.java 文件第658行第59列到第74列。名称为add_friend_recommend_layout.xml的资源文件 2,调用该资源文件2的调用位置为:add_friend.xml文件的第79行。
[0067] 替换模块402,用于当所述资源文件的名称的长度大于设定阈值时,将资源文件夹 中的资源文件的名称和所述代码文件中调用位置处的资源文件名称替换为一长度小于所 述设定阈值的名称,其中所述设定阈值的名称为单个英文字母或多个英文字母的组合,所 述设定阈值的名称还可以为英文字母和数字的组合;
[0068] 具体地,按照图3中资源文件夹中的资源文件的名称存储的顺序,依次用英文字 母来替换资源文件夹中的资源文件的名称,即用a来替换资源文件夹中资源文件1的名称, 用b来替换资源文件夹中资源文件2的名称,用c来替换资源文件夹中资源文件3的名称, 按顺序进行替换,z用完之后,从aa开始到az,az用完之后,从ba开始到bz,按照英文字母 排序增长,直到资源文件夹中所有的资源文件名称都被替换完为止。同时将代码文件中调 用位置处的资源文件名称用相应的字母进行替换。
[0069] 具体地,按照图3中资源文件夹中的资源文件名称存储的顺序,依次用英文字母 和数字的组合来替换资源文件夹中的资源文件的名称,即用al替换资源文件夹中资源文 件1的名称,用a2替换资源文件夹中资源文件2的名称,用a3替换资源文件夹中资源文件 3的名称,直到a9,a9用完之后,从
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1