2

ADT 17 以降、gen フォルダーに DEBUG 定数を持つ BuildConfig クラスがあります。アプリケーションをエクスポートすると、ADT によって値が自動的に変更されるため、コードでこの定数をよく使用します。

ただし、Proguard を使用すると、これは機能しなくなります。たとえば、次のスニペットがあります。

if (!BuildConfig.DEBUG) {
    ACRA.init(this);
}

Proguard は DEBUG が true であることを認識し、このスニペットを完全に削除してアプリを縮小します。その後、ADT は DEBUG 定数を変更しますが、これでは遅すぎます。

私が知っている唯一の解決策は、独自の DEBUG 定数を作成し、手動で再度変更することです。しかし、ADT の機能はとても気に入っています。より良い解決策を知っていますか?

前もって感謝します。

編集:

回避策があります。実行時に初期化される独自の DEBUG 定数を作成します。

debug = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));

Application クラスの onCreate メソッドで、最初にこの変数を作成します。これは回避策であり、機能しますが、問題の解決策ではありません。

4

0 に答える 0