2013-05-27 3 views
6

私は図書館のActionBarSherlockは、このような行がたくさんあるという理由だけで、私のアプリケーションでは、デバッグ情報の多くを表示することに気づいたときActionbarSherlockログを削除:BuildConfig.DEBUG

幸い
if (BuildConfig.DEBUG) 
    Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu); 

、ログがありますデバッグデバイスにのみ表示されます。 ifステートメントに感謝します。
大きな問題は、私のコードに集中するために、デバッグデバイスのすべてのログを削除したいということです。

は、私はそれを避けるために、2つの解決策を知っている:図書館で

  1. 削除/編集すべてのログを
  2. フィルター Eclipseでlogcat。

これを実現し、デバッグデバイスにないことを伝えてライブラリを "偽造"する簡単な方法がありますか? 私は本当に上記の2つのソリューションを避けたいと思います。

+0

を設定し、あなたは偽= BuildConfig.DEBUGを設定してみましたか? BuildConfigファイルを変更するのは良い習慣ではありませんが、開発中は問題ありません – Ethan

+0

Sherlockのバージョンはありますか? BuildConfig.DEBUGへの参照が見つかりません – Blackbelt

+0

@blackbeltちょうどここを見てください:https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock/src/com/actionbarsherlock/ActionBarSherlock.java –

答えて

0

デバッグメッセージは、アプリケーションがデバッグモードで実行されている場合にのみ表示されます。つまり、AndroidManifest.xmlで定義しなかった場合は、デバッグビルドにのみ表示されます。

プロダクションビルドを作成すると、表示されません。

androidmanifestファイルにdebuggableフラグを手動で設定して実行することで、これをテストできます。 マニフェストファイルのオプションの詳細については、http://developer.android.com/guide/topics/manifest/application-element.htmlも参照してください。

あなたのアプリがデバッグモードで実行されず、デバッガに接続できないため、多分あなたを助けないでしょう。

BuildConfig.DEBUGへの参照をすべてyour.package.name.SherlockConfig.DEBUGのように置き換え、自分でデバッグ変数を定義することができます。この方法で、ActionbarSherlockのデバッグを有効または無効にすることができます。

4

はファイル/gen/com/actionbarsherlock/BuildConfig.java
にごActionBarSherlockプロジェクト
オープンを開き、DEBUG = false

+0

自動生成された自動再生ファイルであるため、残念なことです。 –

+0

@Gáborは、この変更が行われた後でライブラリプロジェクトを再構築しません。 – valerio