有没有一个工具来查找Android项目中的未使用的资源?

我想find我的Android项目中的任何未使用的资源 – 这包括string,ID,drawables,整数等

是否有一个工具来做到这一点(最好是为了Eclipse)?

如果您在免费社区版中使用了支持Android的IntelliJ,可以通过打开生成的R.java文件(gen / R.java)来实现。 未使用的资源将被标记为在您的项目中没有被引用的警告。

如果Eclipse不这样做,我会感到惊讶。

一个友好的注意:IntelliJ的想法只适用于未在JAVA代码中引用的资源。 所以如果你有1500个资源,并且只有20个是直接从你的java代码引用的,你最终会在这个文件中有1480个未使用的警告。

我看到标记为未使用的东西,我可以清楚地看到在各种布局中使用。 所以请记住…不要去删除狂欢。

更新到ADT 16并使用Android Lint 。 这真是了不起的工具。

Android Lint是ADT 16(和Tools 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. 

安德烈Buneyeu是正确的Android林特是要走的路。 为了专门回答任何其他人的问题,命令是:

lint --check UnusedResources <path to project>

在lint中有更多的选项,你可以用lint --list看到。

android-unused-resources是一个Java工具,它将检测未使用的资源,并告诉你它们位于何处。 它处理Java和XML文件,所以它避免了被接受的答案中的问题。

这不是完美的,但只要你不dynamic加载资源( getIdentifier ( java.lang.String, java.lang.String, java.lang.String )),它不应该告诉你删除任何实际被使用(尽pipe你会得到一个编译器错误,即使发生这种情况)。