问题:        

        android工程在迭代一定的时间后,总有一些多余的资源和代码,如何删除其中不需要的代码以及资源文件就成了一定的问题。当然手动删除肯定时一种办法,这里给出一种通过android的lint工具以及github上的开源框架实现的自动删除的方法。可以实现瞬间删除不需要的资源以及代码。

准备工作:

1 环境需求:

python>=2.7.*

adt>=16 (android studio 忽略)

2 android-resource-remover2 安装

pip install android-resource-remover(如果没有pip的话,先安装pip)

开始优化

1对于非gradle工程

先cd到你的工程根目录

然后执行 android-resource-remover --lint /home/renlei/soft/code/sdk/tools/lint

其中lint前面的路径时sdklint的目录,也可以采用配置环境来给lint配置一个环境

执行后的结果


git一下可以看见没有用的资源都被删除了,并且生成了一个lint-result.xml的文件。


2对于gradle工程

配置build.gradle加入

lintOptions {    abortOnError false}

选择run--> edit configuration在右侧的最下方点击加号 ,添加一个run gradle task任务




选择需要执行lint任务的工程 tasks 直接输入lint就可以


点击ok run工程,自己的工程的build/outputs/会生成三个lint的文件,

最后执行 android-resource-remover --xml app/build/outputs/lint-results.xml
 即可删除所有没有用的资源以及代码


这里有几点需要注意

其一是在执行之前最好对自己的工程进行一次备份,或者有个版本控制,因为lint以及脚本都没有那么的精确,有时候会多删除一两个文件或者一两行代码都是很正常的

其二是在删除完一次后,可以在重复的多删除几次,因为一次并不能全部都删除完毕,建议执行4次左右


更多相关文章

  1. as gradle debug\values\generated.xml: Error: Duplicate res
  2. 使用Android平板编程,执行linux命令
  3. Android(安卓)监控程序安装和删除的实现
  4. android 获取api key
  5. Android全工程编译不过问题汇总
  6. android源码解析-异步消息
  7. Android(安卓)startActivityForResult的使用
  8. Android中,把XML文件转换成Object对象的方法
  9. Android(安卓)Studio安装使用图文教程

随机推荐

  1. 抓包工具TcpDump for Android(安卓)+ wir
  2. Android资源类型、结构、使用
  3. android通过webservice验证用户
  4. [Android(安卓)Fk] Android(安卓)input事
  5. Android(安卓)截取屏幕图片并保存
  6. portrait表示横向,landscape表示纵向
  7. 学习android编程过程(连载。。)
  8. Android(安卓)软键盘的监听(监听高度,是否
  9. android 中文 api (87) —— BaseInputConn
  10. android: WheelView组件(滑轮组件)的应用!