在做项目的时候,随着项目不断迭代,项目包越来越大,同时项目中无用的资源文件或数据越来越多,不仅导致发出的APP包很大,多达20M,还影响程序的性能及产品体验。我们通常做的方法就是自动手工找出或是用一些jar包工具(如androidunusedresources.jar)来找出项目中无用资源,然后手工删除,工作量可想而知,做过这个活的都知道其中的苦。
今天看到了一篇自动删除Android项目中的无用资源的文章:http://nashlegend.blog.51cto.com/5635342/1657683 ,就自己动手试了一下,确实省时省力,下面把我今天操作的步骤记录下来,方便下次查看:
1,下载androidunusedresources.jar工具包,放到所要操作项目(取名:项目A)的根目录中,
2,进入cmd控件台,进入项目所在目录,执行java -jar AndroidUnusedResources.jar或者java -jar AndroidUnusedResources.jar >del.txt,前者会把要不用的资源显示在控件台中,后者可以直接把无用资源信息显示在del.txt文本中,
3,我自己新建了一个java项目,把从https://github.com/NashLegend/AndroidResourceCleaner下载下来的中的java类(与http://nashlegend.blog.51cto.com/5635342/1657683中的类是一样的)及对应的domj4-1.6.1.jar包放到我的java项目中,然后导出为jar文件(我试了几次,只有把jar包导出到对应的java项目目录中才有效,可能是操作不正确,几次导出到其它地方,在后结绪操作中都会报一些错误),
4,把第2步中的del.txt文件复制到java项目根目录中,执行java -jar cleaner.jar del.txt命令(其中cleaner.jar)是第3步中导出的jar包名字,然后刷新下项目A,就会发现少了很多文件。同时项目中也会多出一些jar包,包括androidunusedresources.jar和cleaner.jar包
5,运行项目A,发现可以正常运行,OK啦。
不过还有个小问题没解决,就是处理后的项目A中的string.xml等相关资源文件中的中文乱码了,我是通过与SVN对比处理的,乱码问题我还会去看下怎么回事,也希望知道的朋友指教下!其中在导出jar包时参考了博文:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html