web-dev-qa-db-ja.com

1つの方法から無効なローカル情報を削除-Proguard

gradle buildの後にこの警告が表示されます。私のProguard rulesLogsに関連していると思います。 「無効なローカル情報を取り除く」にはどうすればよいですか?

私のログをLogUtilクラスにラップすることを考えました:

public class LogUtils {
    public static void debug(final String tag, String message) {
        if (BuildConfig.DEBUG) {
            Log.d(tag, message);
        }
    }
}

これを追加してルールを保護します

-assumenosideeffects class Android.util.Log {
    public static *** d(...);
}

良い解決策ですが、プロジェクトに多くのLog.dがあるため、難しいでしょう。

ティンバーと同じ問題。切り替えるには遅すぎると思います

if (BuildConfig.DEBUG) {
  Timber.plant(new Timber.DebugTree());
}
6

わかりました、私は問題を修正しました:

-assumenosideeffects class Android.util.Log {
    public static boolean isLoggable(Java.lang.String, int);
    public static int v(...);
    public static int i(...);
    public static int w(...);
    public static int d(...);
    public static int e(...);
}
2