生成签名的 apk 和混淆器被激活时,木材包不存在错误

Timber package doesn't exist Error when generating signed apk and proguard is activated

我正在尝试使用 android studio 生成一个签名的 apk,它给了我这些错误

Error:(59, 18) error: package timber.log does not exist
Error:(27, 23) error: package okhttp3.logging does not exist

在我的应用程序中 class 我将 Timber 定义如下

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

这是我使用的 Okhttp 日志记录方法:

public static HttpLoggingInterceptor loggingInterceptor() {
return new HttpLoggingInterceptor().setLevel(BuildConfig.DEBUG ? HttpLoggingInterceptor.Level.BODY :HttpLoggingInterceptor.Level.NONE);
}

gradle设置如下:

 release {
      minifyEnabled true
      shrinkResources true
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

并且没有具体的混淆器配置。有什么问题吗?

所以我发现了导致这个问题的问题,在 build.gradle 应用程序模块文件中我选择了 debugCompile 而不是常规的 compile 所以而不是

  debugCompile  "com.jakewharton.timber:timber:$TIMBER_VERSION"

我应该用这条线

  compile  "com.jakewharton.timber:timber:$TIMBER_VERSION"

okhttp3:logging-interceptor 相同,在更正前面的行并编写一些混淆规则后,我生成了签名的 apk。