Timber包不存在生成签名的apk并且proguard被激活时出错

时间:2017-07-11 09:29:15

标签: android gradle android-gradle apk timber-android

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

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

在我的应用程序类中,我将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'
    }

并且没有特定的proguard配置。什么可能是错的?

1 个答案:

答案 0 :(得分:0)

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

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

我应该使用这一行

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

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