如何清理Android项目?

时间:2011-10-06 12:01:46

标签: android eclipse code-cleanup resource-cleanup

我使用过去创建的Android应用程序的源代码作为另一个应用程序的基础(许多功能类似,但原始应用程序的大约1/3功能被删除)。

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

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

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

该项目包含数百个Drawables(其中许多都有HDPI,MDPI和LDPI版本),大约一百个左右的布局和十几个不同包中的近千个Java文件。因此,逐个检查它们不是一种选择。

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

AFAIK,没有自动化工具。我也在寻找一种方法来检测未使用的资源,并得出结论,没有工具可以解决这个问题。此外,您正在谈论未使用的Java文件,我认为这些文件更难实现(实际上很难检测实际使用的活动/服务/接收器/提供程序等)。

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