我找到了一个未使用的字符串资源,如:
<string name="obsoletestring">my name is null!</string>
然而,在strings.xml
,values
,values-af
等文件夹中的不同values-be
文件中有几十个不同语言的文件。
我一定错过了一些不知道在Android Studio中做任何事情的事情,除了一个接一个地手动修改它。
tl; dr如何为所有配置删除未使用的字符串资源?
识别所有未使用的资源:
Android Studio(v 1.0)中没有非常简单的方法可以删除所有语言环境的资源字符串。但是,您可以搜索和替换文件。幸运的是,在大多数情况下,翻译文件只使用一行,因此效果非常好。
在Android Studio中:
.*name="obsoletestring".*\n
在IDE支持出现之前,这些内容将起作用:
find -name strings.xml|xargs -rd\\n sed -ri '/"string_to_delete"/d'
在Android Studio 2.3中,可以删除所有未使用的资源。
Refactor -> Remove Unused Resources...
事实上,Android Lint应报告未使用的资源,但您也可以尝试使用this nice插件。
请注意,REMOVE UNUSED RESOURCES命令无法将以编程方式访问的资源识别为已使用的资源(例如getIdentifier(..)等)。因此,如果您以这种方式访问资源,那么使用该命令风险很大!!