7

私は市場でアプリをリリースする準備をしています。ここにあるGoogleのドキュメントを読むと、次のことが示唆されています:Deactivate any calls to Log methods in the source code.

すべてのソース ファイルを調べて各行を手動で削除するよりも簡単な方法はありますか?

また、ログを削除するのはなぜですか?それはリソースを大量に消費するのでしょうか?

4

2 に答える 2

7

これは、 proguardを介して行うことができます。最新の SDK とツールでは、proguard 構成ファイルが既に存在している必要があります。Christopher は同様の質問でこれに答えました。

おそらく最も簡単な方法は、次のような構成で、展開前にコンパイル済みの JAR を ProGuard で実行することです。

-assumenosideeffects class android.util.Log {
  public static int v(...);
}

これにより、他のすべての ProGuard 最適化とは別に、詳細なログ ステートメントがバイトコードから直接削除されます。

追加することで、無効にするログ出力を決定できます

-assumenosideeffects class android.util.Log {
  public static int d(...);
  public static int i(...);
  public static int e(...);
}

プロガード設定ファイルにも。.e メッセージは一部の catch 部分でのみ使用され、アプリケーションの通常の実行中にパフォーマンスが低下するため、コード内に .e メッセージを保持するのが好きです。

于 2011-02-28T12:16:12.013 に答える
1

この質問を見てください:

于 2011-02-28T12:09:24.680 に答える