如何删除Android Studio中所有配置的未使用的字符串资源?

时间:2015-03-09 08:13:39

标签: android android-studio android-resources

我找到了一个未使用的字符串资源,例如:

<string name="obsoletestring">my name is null!</string>

然而,在strings.xmlvaluesvalues-af等文件夹中的不同values-be个文件中存在数十种不同语言的文件。

我一定错过了一些不知道如何在Android Studio中执行此操作的方法,而不是逐个手动修改。

tl; dr 如何为所有配置删除未使用的字符串资源?

7 个答案:

答案 0 :(得分:25)

识别所有未使用的资源:

  • 打开菜单&gt;分析&gt;按名称运行检查...
  • 选择“未使用的资源”
  • 确保选中整个项目,然后按确定。
  • 查看清单。您始终可以使用“重新运行”按钮重新运行检查。

Android Studio(v 1.0)中没有非常简单的方法可以删除所有语言环境的资源字符串。但是,您可以搜索和替换文件。幸运的是,在大多数情况下,翻译文件只使用一行,因此效果非常好。

在Android Studio中:

  • 从源代码管理中没有待处理的更改开始(如果出现问题,可以更轻松地检查和退出)。
  • 打开菜单&gt;编辑&gt;查找&gt;在路径中替换......
  • 在文字中查找:.*name="obsoletestring".*\n
  • 替换为:(空)
  • 检查正则表达式
  • 按“查找”按钮。
  • 检查结果。如果没问题,请按“所有文件”按钮。
  • 您可能必须手动删除res / values / strings.xml中的注释。
  • 确保您的项目仍在构建。
  • 在源代码管理中查看项目的差异,以确保更改真正您的意图......

答案 1 :(得分:21)

现在可以内部 Android Studio。 在Lint检查后,您会在右侧看到一个选项删除所有未使用的资源

enter image description here

要跨所有区域设置文件删除单个字符串资源,可以使用“翻译编辑器”。 1.右键单击res目录以打开翻译编辑器。 2.选择“显示所有键”选择器,然后选择“按文本过滤”。提供要删除的资源的名称。 3.选择资源,然后单击“ - ”按钮

答案 2 :(得分:5)

在IDE支持出现之前,这些内容将起作用:

find -name strings.xml|xargs -rd\\n  sed -ri '/"string_to_delete"/d'

答案 3 :(得分:2)

不幸的是,你必须手动完成。

选中此answer,了解您应该采取哪些措施来摆脱它们Eclipse

如果您使用Android Studio在整个应用程序中找到它们,也可以手动删除..请检查answer

答案 4 :(得分:2)

  1. 菜单 - &gt;分析 - &gt;按名称运行检查 - &gt;未使用的资源
  2. 从结果中选择所有未使用的字符串资源。

    • 右键单击突出显示的行并选择&#34;使用@SuppressLint(Java)或工具抑制:忽略(XML)&#34;。这将添加属性工具:忽略所有字符串文件中的所有字符串。
  3. 菜单 - &gt;查找 - &gt;在路径中替换

    • 要查找的文字:^。*?tools:ignore =&#34; UnusedResources&#34;。*?\ n
    • 勾选正则表达式框
    • 使用范围:自定义
      • 打开自定义范围编辑器并添加模式:file [app]:src / main / res // strings.xml
    • 查找

答案 5 :(得分:0)

事实上,Android Lint应报告未使用的资源,但您也可以尝试使用this漂亮的插件。

答案 6 :(得分:0)

请注意,REMOVE UNUSED RESOURCES命令无法将以编程方式访问的资源识别为已使用的资源(例如getIdentifier(..)等)。 因此,如果您以这种方式访问​​资源,那么使用该命令风险很大!!