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

文档序号:9452828阅读:来源:国知局
102中资源文件夹中名称替换后的资源文件、调用位置处的资源 文件名称替换后的代码文件和应用程序的其余文件,利用ant脚本调用android提供的软 件开发工具包(SoftwareDevelopmentKit,简称SDK)中的打包工具aapt(AndroidAsset PackagingTool)进行打包,生成应用程序安装包(AndroidPackage,简称APK)。其中,应用 程序的其余文件包括:名称长度小于等于设定阈值的资源文件夹中的资源文件、调用该资 源文件的代码文件、其他配置文件等。具体的打包方法同现有技术,在此不再赘述。
[0031] 在图1提供的生成应用程序安装包的方法中,获取应用程序中的资源文件夹中的 资源文件的名称,以及代码文件夹中的代码文件中资源文件的调用位置;当所述资源文件 的名称的长度大于设定阈值时,将资源文件夹中的资源文件的名称和所述代码文件中调用 位置处的资源文件名称替换为一长度小于所述设定阈值的名称;将资源文件夹中名称替换 后的资源文件、调用位置处的资源文件名称替换后的代码文件和所述应用程序的其余文件 打包,生成所述应用程序的安装包,从而减小了应用程序安装包的大小,同时减小了应用程 序运彳丁时所占用的内存空间。
[0032] 请参阅图2,图2示出了本发明实施例公开的另一种生成应用程序安装包的方法 的流程图。如图2所示,该生成应用程序安装包的方法可以包括以下步骤:
[0033] S201 :打包应用程序之前,判断是否对应用程序进行处理;
[0034] 具体地,当完成应用程序的开发,准备进行打包以生成应用程序安装包之前,判断 是否对应用程序进行处理,若要对应用程序进行测试,则不对应用程序进行处理,执行步骤 S202 ;否则,则对应用程序进行处理,执行步骤S203。
[0035] S202:正常打包应用程序;
[0036] 具体地,利用ant脚本调用android提供的软件开发工具包(Software DevelopmentKit,简称SDK)中的打包工具aapt(AndroidAssetPackagingTool),将代 码文件、资源文件以及其他配置文件打包,生成应用程序安装包(AndroidPackage,简称 APK)。
[0037]S203 :扫描所述应用程序,获取应用程序中的资源文件夹中的资源文件的名称,以 及代码文件夹中的代码文件中资源文件的调用位置;
[0038] 具体地,遍历应用程序全套项目中的所有文件,找出资源文件夹中所有的资源文 件和代码文件夹中调用资源文件的代码文件,并获取找出的资源文件夹中所有的资源文件 的名称,获取代码文件夹中的代码文件中资源文件的调用位置,所述调用位置具体为代码 文件的第几行或者第几行第几列。资源文件包括图片、文字、布局、动画效果配置文件、颜色 值和固定数值等。比如,名称为add_friend_recommend_layout.xml的布局文件,名称为 add_friend.xml的文件第79行调用了该布局文件;名称为R.drawable.icon的资源文件, 名称为BaseApplicationlmpl.java的文件第131行,第24列到第39列调用了该资源文件。
[0039] S204:以键值的形式存储所述资源文件夹中的资源文件的名称以及代码文件夹中 的代码文件中资源文件的调用位置;
[0040] 图3示出了资源文件夹中的资源文件的名称以及代码文件夹中的代码文件中资 源文件的调用位置的存储结构示意图。按照图3的结构,将步骤S203中获取的找出的资源 文件夹中所有的资源文件的名称以键值的形式进行存储,将代码文件夹中的代码文件中资 源文件的调用位置以链表的形式进行存储。例如:名称为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行。
[0041]S205:当所述资源文件的名称的长度大于设定阈值时,将资源文件夹中的资源文 件的名称和所述代码文件中调用位置处的资源文件名称替换为一长度小于所述设定阈值 的名称,其中所述设定阈值的名称为单个英文字母或多个英文字母的组合,所述设定阈值 的名称还可以为英文字母和数字的组合;
[0042] 具体地,按照图3中资源文件夹中的资源文件的名称存储的顺序,依次用英文字 母来替换资源文件夹中的资源文件的名称,即用a来替换资源文件夹中资源文件1的名称, 用b来替换资源文件夹中资源文件2的名称,用c来替换资源文件夹中资源文件3的名称, 按顺序进行替换,z用完之后,从aa开始到az,az用完之后,从ba开始到bz,按照英文字母 排序增长,直到资源文件夹中所有的资源文件名称都被替换完为止。同时将代码文件中调 用位置处的资源文件名称用相应的字母进行替换。表一示出了资源文件夹中名称替换前和 名称替换后的资源文件。
[0043]
[0044]
[0045] 具体地,按照图3中资源文件夹中的资源文件名称存储的顺序,依次用英文字母 和数字的组合来替换资源文件夹中的资源文件的名称,即用al替换资源文件夹中资源文 件1的名称,用a2替换资源文件夹中资源文件2的名称,用a3替换资源文件夹中资源文件 3的名称,直到a9,a9用完之后,从bl到b9,cl到c9,直到z9,之后从all到al9,从a21到 a29,直到a99,之后从bll开始,直到资源文件夹中所有的资源文件名称都被替换完为止。 同时将代码文件中调用位置处的资源文件名称用相应的英文字母和数字的组合进行替换。 表二示出了资源文件夹中名称替换前和名称替换后的资源文件。
[0046]
[0047]
[0048] S207 :生成地图日志文件;
[0049] 具体地,生成地图日志文件是为了给以后的排查除错带来便利,地图日志文件记 录了资源文件夹中的资源文件的名称替换前和替换后的对应关系,以及代码文件中调用 位置处的资源文件名称替换前和替换后的对应关系。例如:文字资源名称can_n〇t_Set_ birth_of_date替换为bqt的地图日志如下,具体表达的意思是:资源文件夹中文字资源文 件中字符串名称can_not_set_birth_of_date替换前和替换后的对应关系,代码文件夹中 的代码文件中调用位置处字符串名称can_not_set_birth_of_date替换前和替换后的对 应关系。
[0050] ---------------------------------------------bqt--------------------- --------------------------------res\values\strings.xml
[0051] -Mine: 1366〈stringname= 〃can-not_set-birth_of-date〃>->〃〈stringname =〃bqt〃>
[0052] src\com\tencent\mobileqq\activity\DetailProfileActivity.java
[0053] -Mine: 596notifyUser(R.string,can-not-set-birth-of-date,QQToast. ICON-ERROR) ;->notifyUser(R.string,bqt,QQToast.ICON-ERROR);
[0054] S207:将资源文件夹中名称替换后的资源文件、调用位置处的资源文件名称替换 后的代码文件和所述应用程序的其余文件打包,生成所述应用程序的安装包。
[0055] 具体地,利用ant脚本调用android提供的软件开发工具包(Software DevelopmentKit,简称SDK)中的打包工具aapt(AndroidAssetPackagingTool)将资源文 件夹中名称替换后的资源文件、调用位置处的资源文件名称替换后的代码文件和所述应用 程序的其余文件打包,生成应用程序安装包(AndroidPackage,简称APK),其中,应用程序 的其余文件包括:资源文件夹中名称长度小于等于设定阈值的资源文件、代码文件夹中调 用该资源文件的代码文件、其他配置文件等。具体的打包方法同现有技术,在此不再赘述。
[0056] 在图2提供的生成应用程序安装包的方法中,获取应用程序中的资源文件夹中的 资源文件的名称,以及代码文件夹中的代码文件中资源文件的调用位置;当所述资源文件 的名称的长度大于设定阈值时,将资源文件夹中的资源文件的名称和所述代码文件中调用 位置处的资源文件名称替换为英文字母或者英文字母和数字的组合,从而使资源文件的名 称由长的自然语言变成了短的字符名称,这样既减小了应用程序安装包的大小,减小了应 用程序运行时所占用的内存空间,同时提高了反编译
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1