问题:        

        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配置一个环境

执行后的结果

android 通过lint以及android-resource-remover清楚不用的资源以及代码 支持gradle以及非gradle工程_第1张图片

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


2对于gradle工程

配置build.gradle加入

lintOptions {    abortOnError false}

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



android 通过lint以及android-resource-remover清楚不用的资源以及代码 支持gradle以及非gradle工程_第2张图片

android 通过lint以及android-resource-remover清楚不用的资源以及代码 支持gradle以及非gradle工程_第3张图片

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

android 通过lint以及android-resource-remover清楚不用的资源以及代码 支持gradle以及非gradle工程_第4张图片

android 通过lint以及android-resource-remover清楚不用的资源以及代码 支持gradle以及非gradle工程_第5张图片

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

android 通过lint以及android-resource-remover清楚不用的资源以及代码 支持gradle以及非gradle工程_第6张图片

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


这里有几点需要注意

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

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


更多相关文章

  1. Android ImageView使用网络资源文件
  2. 使用ant编译android工程
  3. Android 获取无线蓝牙MAC信息代码
  4. android 简单拨号器 代码
  5. 关于android的des算法代码
  6. Android音乐播放器代码实现
  7. Android 代码设置RelativeLayout元素居中
  8. android GPS定位代码
  9. Android xliff和字符串资源

随机推荐

  1. android SDK Manager 无法更新的解决办法
  2. 【Android Demo】悬浮窗体实现
  3. Android(安卓)在工作线程(非主线程)更改UI
  4. Android(安卓)Activity 生命周期
  5. Android(安卓)App程序结构
  6. Android网络开发详解
  7. android 程序检查当前应用是否在运行
  8. Android(安卓)WebView 禁止输入
  9. android日志工具LogCat的使用
  10. android下如何设置系统时间