7

過去に作成したAndroidアプリのソースコードを別のアプリのベースとして使用しました(多くの機能は似ていますが、元のアプリの機能の約3分の1が削除されています)。

ソースツリーをコピーし、新しいプロジェクトをEclipseワークスペースにインポートすることから始めました。その後、いくつかのレイアウトファイルと描画可能ファイル、およびいくつかのファイルを削除しました。これら.javaのファイルは、新しいアプリでは明らかに必要ありません。

最後に、新しいアプリをコンパイルしてテストしました。ここで、使用されていないものをほとんどすべて削除して、プロジェクトをより徹底的にクリーンアップしたいと思います。

新しいアプリで使用されていないすべてのXMLおよび画像ファイル、Javaファイル、文字列、カラーリソースを見つけるための最良の方法は何ですか?「未使用」とは、実行中のアプリケーションコードから参照されていないことを意味します(メインアクティビティから開始して、そこから参照されている他のすべてのファイル、それらのファイルから参照されているファイルなどに移動します)。

このプロジェクトには、数百のDrawable(HDPI、MDPI、LDPIのバージョンがあります)、約100程度のレイアウト、および数十の異なるパッケージに含まれる1,000近くのJavaファイルが含まれています。したがって、それらを1つずつチェックすることはできません。

2012年3月の編集: Android SDKのlintツールの最新バージョンは、未使用のリソースを非常によく識別します。問題は、私が受け取った他の何百ものメッセージから未使用のリソースに関するメッセージをフィルタリングすることです。中規模のプロジェクトでリンクを実行すると、3,000を超える警告が表示されましたが、XMLレイアウトを使用してコードで行っていることをlintが分析できないため、ほとんど何もするつもりはありません。

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 に答える