我使用过去创建的android应用程序的源代码作为另一个应用程序的基础(很多功能类似,但是大约有1/3的原始应用程序的功能被删除)。如何清理Android项目?
我通过复制源代码树并将新项目导入Eclipse工作区开始。之后,我删除了一些布局和可绘制文件以及几个.java
文件 - 这些在新应用程序中显然不需要。
最后,我编译并测试了新的应用程序。现在我想通过删除几乎没有使用的所有东西来更彻底地清理项目。
寻找新应用程序中未使用的所有XML和图像文件,Java文件,字符串和颜色资源的最佳方法是什么?通过“未使用”,我的意思是它们没有被任何正在执行的应用程序代码引用(从主要活动开始,转到从其引用的所有其他文件,从这些文件引用的文件 - 等等)。
该项目包含数百个Drawable(其中许多版本具有HDPI,MDPI和LDPI版本),大约一百个左右的布局以及几十个不同包中的一千个Java文件。因此,逐个检查它们不是一种选择。
编辑2012年3月:最新版本的android SDK的lint
工具很好地识别未使用的资源。问题是过滤来自我得到的数百条其他消息中未使用资源的消息。当我在我的中型项目上运行链接时,我收到了超过3000条警告,其中大部分我都不想做任何事情,因为lint无法分析我在代码中使用XML布局执行的操作。
这看起来像一个伟大的工具。在第一次运行中,它告诉我它找到了111个未使用的资源。他们中的大多数看起来像是真的没有用过。我对他们中的一些人有些怀疑,所以会手动检查。 –
是的,有一些可能被错误地评估。我认为这些大部分仅限于具有父级风格的样式。 –