生成签名的 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。
我正在尝试使用 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。