我想删除所有未使用的布局,字符串,绘图,颜色等从我的Android res目录。是否有任何工具可以给我一个文件列表,我可以从我的存储库中删除特定文件中的元素(例如未使用的字符串条目),这些文件不再使用?


当前回答

你可以很容易地从Android Studio搜索未使用的资源。只需按下CtrlAltShifti并输入“未使用的资源”(不带引号)。将执行lint。超级简单的方法运行lint命令(和其他东西从IDE)。

OR

在Android Studio菜单>重构>删除未使用的资源…

选择要删除的资源。通过右键单击资源项,可以排除想要保留的资源。

使用Do Refactor一次性删除所有资源。

更新:mac使用⌘OptionShifti

其他回答

自从ADT 16以来,你可以使用Android Lint。这真是个神奇的工具。

Android Lint is a new tool for ADT 16 (and Tools 16) which scans Android project sources for potential bugs. 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.

然而,它有一些问题(不知道它们是否已经修复),如果你想删除数百个据称未使用的资源,我建议在资源删除期间手动编译项目几次,以确保Lint没有删除所需的东西。

这里有非常棒的答案,提供了很好的工具

但如果你打算删除png-drawables(或其他图像文件),你也应该考虑将所有drawable-xxxx文件夹从你的项目中移到一个临时文件夹中,然后重新构建所有文件夹,并查看构建消息列表,它会告诉你哪些文件夹丢失了。

如果你想要获得你正在有效使用的资源的概述,并可能用图标字体或svg资源替换它们,这可能是Android Iconics库的帮助,这可能是特别有用的。

也许有用 Andround Unused Resources是一个Java应用程序,它会扫描你的项目中未使用的资源。未使用的资源会不必要地占用空间,增加构建时间,并使IDE的自动完成列表变得混乱。

要使用它,确保你的工作目录是你的Android项目的根目录,并运行:

java -jar AndroidUnusedResources.jar

https://code.google.com/p/android-unused-resources/

你可以很容易地从Android Studio搜索未使用的资源。只需按下CtrlAltShifti并输入“未使用的资源”(不带引号)。将执行lint。超级简单的方法运行lint命令(和其他东西从IDE)。

OR

在Android Studio菜单>重构>删除未使用的资源…

选择要删除的资源。通过右键单击资源项,可以排除想要保留的资源。

使用Do Refactor一次性删除所有资源。

更新:mac使用⌘OptionShifti

shift双击Windows,然后输入“unused”,你会发现一个选项删除未使用的资源,也

 android {
        buildTypes {
            release {
                minifyEnabled true
                shrinkResources true
            }
   }
}

当您设置这些设置时,AS将自动删除未使用的资源。