7

我使用我们过去创建的一个 android 应用程序的源代码作为另一个应用程序的基础(很多功能是相似的,但是删除了大约 1/3 的原始应用程序的功能)。

我首先复制源代码树并将一个新项目导入 Eclipse 工作区。之后,我删除了一些布局和可绘制文件以及一些.java文件——这些文件显然在新应用程序中不需要。

最后,我编译并测试了新应用程序。现在我想通过删除几乎所有未使用的内容来对项目进行更彻底的清理。

查找新应用程序中未使用的所有 XML 和图像文件、Java 文件、字符串和颜色资源的最佳方法是什么?“未使用”是指它们没有被任何正在执行的应用程序代码引用(从主要活动开始,转到从它引用的所有其他文件,从这些文件引用的文件 - 等等)。

该项目包含数百个 Drawable(其中许多具有 HDPI、MDPI 和 LDPI 版本)、大约一百个左右的布局以及十几个不同包中的近千个 Java 文件。因此,不能一个一个地检查它们。

2012 年 3 月编辑:最新版本的 android SDKlint工具可以很好地识别未使用的资源。问题是从我收到的数百条其他消息中过滤有关未使用资源的消息。当我在我的中型项目上运行链接时,我收到了超过 3,000 条警告,其中大部分我打算什么都不做,因为 lint 无法分析我在代码中使用我的 XML 布局所做的事情。

4

2 回答 2

2

查看http://code.google.com/p/android-unused-resources/

它是开源的,正在积极开发中,由优秀的开发人员创建/维护。

于 2011-10-06T12:12:31.103 回答
0

AFAIK,没有用于此的自动化工具。我也一直在寻找一种方法来检测未使用的资源,并得出结论没有工具可以做到这一点。此外,您正在谈论未使用的 Java 文件,我认为这更难完成(实际上很难检测到实际使用了哪些活动/服务/接收器/提供者等)。

我的建议是在项目树中查找您怀疑不再使用的资源和类,并删除那些没有出现在任何地方的资源和类。

于 2011-10-06T12:09:07.810 回答