从 1 种方法中剥离无效的本地信息 - Proguard

Stripped invalid locals information from 1 method - Proguard

我在 gradle build 之后收到此警告。我认为这与我的 Proguard rulesLogs 有关。我怎样才能 "strip invalid locals information" ?

我想将我的日志包装到 LogUtil class:

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

并将其添加到 proguard 规则中

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

是一个很好的解决方案,但我的项目中有很多 Log.d,所以很难。

Timber 也有同样的问题。我认为现在切换已经太晚了

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

好的,我已经解决了这个问题:

-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(...);
}