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

问题:        

        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次左右


你可能感兴趣的:(android,android,lint,删除无用的资源与代码,android,studio,lint使)