2011-08-16 2 views
5

eclipseは参照されていない変数、クラス、およびインポートについて教えていますが、リソースファイルに値がない場合は教えてくれません。strings.xmlの参照されていない値の検索と削除

使用されていないものをすべて削除することは、翻訳の観点から非常に便利です。

これを実行できるツールはありますか?

答えて

3

オプション1

:XMLと反射によってロードされたIDSに直接参照されるリソースには使用できません。

すべてのリソースの生成されたIDがR.javaファイル内にあることを考慮すると、これはを使用して可能になるはずです。

メニューオプションは、次のようになります。 Find Unreferenced Members

オプション2

Androidの未使用のリソースは、未使用のリソースのためのあなたの プロジェクトをスキャンするJavaアプリケーションです。不要なリソースは、不必要にスペースが になり、ビルド時間が長くなり、IDEのオートコンプリート リストが乱雑になります。

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

+2

しかし、これはXMLで直接参照される文字列リソースを識別できますか? – curioustechizen

+0

あなたは正しいです。それについて考えなかった。 – mibollma

+0

ええ、それは良い点です。これは良いツールのように見えますが(実際に動かすことができれば)、配列リソースとレイアウトも含めて文字列を参照する必要があります。 –

0

私は考えることができる最も簡単な(最も遅い)の方法は、一つずつそれらを削除し、日食プロジェクトを再構築できるようにすることです。エラーが発生した場合は、それが使用されていたことを知っています。そうでなければ、それなしでは大丈夫です。

+0

私はこれについて考えましたが、プロジェクトをビルドするのに約20秒かかります(良い日に)、これを完了するまでに数時間かかるでしょう。また、レイアウトファイルに参照のみがある場合でも、コンパイルエラーが発生しますか? –

+0

私はあなたがそうすると思います。もう1つの方法は、インストールしたツールに依存します(それよりも少ない程度で、あなたが実行しているOS)。文字列が.javaまたは.xmlファイルのどこにでも使われているかどうかを調べるためにfindとgrepを使用したbashスクリプトを書くと、その文字列の名前がどこでも参照されていないことを知ることができ、上記の提案は、すべてではなく、データのより小さいサブセットで動作します。それは単なる考えです – Travis

0

Android Lintはあなたの友人です。アリプロジェクトの中で、ただそれは、このような場合にUnusedResource警告を与える

ant lint 

を入力します。

関連する問題