确定是否不再使用strings.xml中的资源

时间:2010-11-21 12:30:16

标签: android

我在我的一个Android程序上做了一些重要的重新编码,现在我不确定是否再使用某些xml字符串。另外我有一些翻译使得任务更加困难。有没有工具来测试这个?这对于drawable也很有用。

我正在使用eclipse插件。

3 个答案:

答案 0 :(得分:1)

之前已在irc频道讨论过这个问题。没有工具可以测试它,但我同意它会很有用。请注意,可以在xml中引用资源,但也可以从代码中引用它们。此外,还可以通过其标识符查找资源,并且可以通过运行时确定此类查找。

实际上,您无法确定100%资源是否已被使用,但您可以确定以静态方式(以xml或代码形式)引用哪些资源。根据您自己最了解的代码/应用程序,在许多情况下,这种方法可能就足够了。

方法是编写一个解析xml和java源文件的工具,并考虑import语句。有了这些信息,您应该能够确定哪些资源可以摆脱。

答案 1 :(得分:0)

最简单的方法是将它们全部删除,尝试编译,然后重新添加编译器认为缺少的那些。这有点令人讨厌,但它确实易于处理。

注意,正如Mathias已经指出的那样,技术上可以通过名称在运行时使用字符串来访问资源,而我在这里建议的方式会删除这些资源,尽管事实上它们是必需的。但是,在任何应用程序中都应该很少看到这种模式,如果您是编写它的人,那么您已经知道是否/在何处进行此类处理。

答案 2 :(得分:0)

使用grep通过排序

将资源列表提取到文件中

通过sort和uniq使用递归grep来创建任何源文件中提到的那些列表(制作没有未使用文件的项目副本或在已使用文件列表上发送grep,当然注释掉代码将是一个问题)

在两个列表上使用差异