项目作者: yongce

项目描述 :
Some Android dev tools based on lint, such as "Unused resources cleaner"
高级语言: Java
项目地址: git://github.com/yongce/AndroidLintTools.git
创建时间: 2016-07-24T10:10:17Z
项目社区:https://github.com/yongce/AndroidLintTools

开源协议:Apache License 2.0

下载


AndroidLintTools

This project aims to provide tools for Android resources clean (for example, clean unused resources).

TIPS: Maybe you want to try the “Refactor > Remove Unused Resources…” feature in Android Studio.
Or you can try the “shrinkResources” option (refer https://developer.android.com/studio/build/shrink-code#shrink-resources).

Install the tools

For example, install the tools to “~/bin” (if it’s in your machine’s PATH).

  1. $ cd ~/bin
  2. $ git clone https://github.com/yongce/AndroidLintTools
  3. $ ln -s AndroidLintTools/cmd/arcleaner arcleaner
  4. $ ll arcleaner
  5. lrwxr-xr-x 1 yctu staff 30 7 24 18:37 arcleaner@ -> AndroidLintTools/cmd/arcleaner

Use ‘arcleaner’ to clean unused resources

First, get the lint result:

  1. $ ./gradlew :demo:lint

Then, clean the unused resources (clean the ‘demo’ module):

  1. $ arcleaner demo/build/reports/lint-results.xml
  2. Clean unused resources according to demo/build/reports/lint-results.xml...
  3. ARCleaner version: 1.1.0
  4. args: [arcleaner, demo/build/reports/lint-results.xml]
  5. working...
  6. done
  7. $ git st
  8. 位于分支 master
  9. 您的分支领先 'origin/master' 1 个提交。
  10. (使用 "git push" 来发布您的本地提交)
  11. 尚未暂存以备提交的变更:
  12. (使用 "git add/rm <文件>..." 更新要提交的内容)
  13. (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
  14. 删除: demo/src/main/res/drawable-v21/ic_menu_camera.xml
  15. 删除: demo/src/main/res/drawable-v21/ic_menu_gallery.xml
  16. 删除: demo/src/main/res/drawable-v21/ic_menu_manage.xml
  17. 删除: demo/src/main/res/drawable-v21/ic_menu_send.xml
  18. 删除: demo/src/main/res/drawable-v21/ic_menu_share.xml
  19. 删除: demo/src/main/res/drawable-v21/ic_menu_slideshow.xml
  20. 删除: demo/src/main/res/drawable/side_nav_bar.xml
  21. 删除: demo/src/main/res/layout/activity_main.xml
  22. 删除: demo/src/main/res/layout/nav_header_main.xml
  23. 删除: demo/src/main/res/menu/activity_main_drawer.xml
  24. 删除: demo/src/main/res/menu/main.xml
  25. 删除: demo/src/main/res/values-v21/styles.xml
  26. 删除: demo/src/main/res/values-zh-rCN/strings.xml
  27. 修改: demo/src/main/res/values/dimens.xml
  28. 删除: demo/src/main/res/values/drawables.xml
  29. 修改: demo/src/main/res/values/strings.xml
  30. 修改: demo/src/main/res/values/styles.xml
  31. 修改尚未加入提交(使用 "git add" 和/或 "git commit -a"

Only clean unused files

Show the usage of ‘arcleaner’:

  1. $ arcleaner
  2. ARCleaner version: 1.1.0
  3. Usage: arcleaner <lint result XML file> [<true|false> <fileMatchReg>]

The second parameter (optional) for ‘arcleaner’ indicates if only clean unused files
(not including the resources items in ‘values’ files).

For example,

  1. $ ./gradlew :demo:lint
  2. ...
  3. $ arcleaner demo/build/reports/lint-results.xml true
  4. Clean unused resources according to demo/build/reports/lint-results.xml...
  5. ARCleaner version: 1.1.0
  6. args: [arcleaner, demo/build/reports/lint-results.xml, true]
  7. working...
  8. done
  9. $ git st
  10. 位于分支 master
  11. 您的分支领先 'origin/master' 1 个提交。
  12. (使用 "git push" 来发布您的本地提交)
  13. 尚未暂存以备提交的变更:
  14. (使用 "git add/rm <文件>..." 更新要提交的内容)
  15. (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
  16. 删除: demo/src/main/res/drawable/side_nav_bar.xml
  17. 删除: demo/src/main/res/layout/activity_main.xml
  18. 删除: demo/src/main/res/layout/nav_header_main.xml
  19. 删除: demo/src/main/res/menu/activity_main_drawer.xml
  20. 删除: demo/src/main/res/menu/main.xml
  21. 修改尚未加入提交(使用 "git add" 和/或 "git commit -a"

Only clean some files

For exmpale,

  1. $ arcleaner demo/build/reports/lint-results.xml false ".*/res/layout/.*"
  2. Clean unused resources according to demo/build/reports/lint-results.xml...
  3. ARCleaner version: 1.1.0
  4. args: [arcleaner, demo/build/reports/lint-results.xml, false, .*/res/layout/.*]
  5. working...
  6. done
  7. $ git st
  8. 位于分支 master
  9. 您的分支领先 'origin/master' 1 个提交。
  10. (使用 "git push" 来发布您的本地提交)
  11. 尚未暂存以备提交的变更:
  12. (使用 "git add/rm <文件>..." 更新要提交的内容)
  13. (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
  14. 删除: demo/src/main/res/layout/activity_main.xml
  15. 删除: demo/src/main/res/layout/nav_header_main.xml
  16. 修改尚未加入提交(使用 "git add" 和/或 "git commit -a"