是否有工具可以在Android项目中查找未使用的资源?

Jos*_*arl 43 resources android find

我想在我的Android项目中找到任何未使用的资源 - 包括字符串,id,drawable,整数等.

目前是否存在执行此操作的工具(最好是Eclipse)?

cop*_*lii 34

友情提示:IntelliJ构思仅适用于JAVA代码中未引用的资源.因此,如果您有1500个资源,并且只有20个直接从您的Java代码中引用,那么您最终会在该文件中发出1480个未使用的警告.

我看到标记为未使用的东西,我可以清楚地看到它们在各种布局中使用.所以记住这一点......不要继续删除狂欢.


And*_*yeu 34

更新到ADT 16并使用Android Lint.这真是太神奇了.

Android Lint是ADT 16(和工具16)的新工具,它可以扫描Android项目源中的潜在错误.

Here are some examples of the types of errors that it looks for:

- Missing translations (and unused translations)
- Layout performance problems (all the issues the old layoutopt tool used to find, and more)
- Unused resources
- Inconsistent array sizes (when arrays are defined in multiple configurations)
- Accessibility and internationalization problems (hardcoded strings, missing contentDescription, etc)
- Icon problems (like missing densities, duplicate icons, wrong sizes, etc)
- Usability problems (like not specifying an input type on a text field)
- Manifest errors
and many more.
Run Code Online (Sandbox Code Playgroud)

  • 我现在正在使用Android Lint.我第一次提出问题时不可用.很高兴Android SDK正在改进很多 (2认同)

kar*_*arl 19

Andrei Buneyeu是正确的Android Lint是要走的路.要专门回答任何其他人的问题,命令是:

lint --check UnusedResources <path to project>

你可以看到lint中有很多选项lint --list.

  • 对于任何使用gradle的人来说,现在有"gradlew lint",它会生成漂亮的html和xml. (3认同)
  • 使用`Gradle 0.11.+`,我能够运行`./gradlew :mymodule:lint` 并在`mymodule/build/generated/` 中获得漂亮的HTML 和XML 文件。 (2认同)

ada*_*dam 18

如果您使用在免费社区版中具有Android支持的IntelliJ,您可以通过打开生成的R.java文件(gen/R.java)来完成此操作.未使用的资源将标记为警告,以便在项目的任何位置不被引用.

如果Eclipse没有做同样的事情,我会感到惊讶.

  • 基于android lint的工具 - https://github.com/KeepSafe/android-resource-remover (3认同)
  • Eclipse不会这样做.我稍后会给Intelli-J打电话. (2认同)

Sco*_*edy 5

android-unused-resources是一个Java工具,可以检测未使用的资源,并告诉您它们的位置.它处理Java和XML文件,因此它避免了接受的答案中的问题.

它并不完美,但只要您不动态加载资源(getIdentifier(java.lang.String, java.lang.String, java.lang.String)),它就不应该告诉您删除任何实际使用的内容(尽管即使发生这种情况您也会遇到编译器错误).