在 Firebase ver 11.0.0 和 guava 中构建冲突(重复的 zip 条目 [classes.jar:com/google/common/base/FinalizableReference.class])
Build conflict in Firebase ver 11.0.0 and guava (Duplicate zip entry [classes.jar:com/google/common/base/FinalizableReference.class])
我已将我的项目升级到最新版本的 Google Play Services,包括 Firebase(版本 11.0.0),由于 Guava 和 Firebase 版本之间的冲突,我无法再构建该项目class com/google/common/base/FinalizableReference.class
在以前的 Firebase 版本中,它不包含 com/google/common/base/FinalizableReference.class
我的建筑等级如下:
android {
compileSdkVersion 25
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "com.example.app.myapplication"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android-optimize.txt'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android-optimize.txt'
}
}
lintOptions {
abortOnError false
}
}dependencies {
compile ('com.google.firebase:firebase-core:11.0.0')
compile ('com.google.guava:guava:22.0-android')
}
proguard-android-optimize.txt 文件是
-verbose
-dontoptimize
-ignorewarnings
-dontshrink
-dontwarn com.google.common.**
-dontwarn com.google.android.gms.**
-dontwarn javax.lang.model.element.**
-dontwarn com.google.common.base.FinalizableReference
-keep class com.google.common.base.FinalizableReference
-dontwarn com.google.common.base.internal.Finalizer
-keep class com.google.common.base.internal.Finalizer
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
GitHub 的 Google 员工已确认该问题并表示正在修复。
我个人认为这是一个错误,而不仅仅是声明了 Guava 依赖项。我不得不同时将 Play 服务回滚到 10.2.6。
供您参考 - Response to this on GitHub
我已将我的项目升级到最新版本的 Google Play Services,包括 Firebase(版本 11.0.0),由于 Guava 和 Firebase 版本之间的冲突,我无法再构建该项目class com/google/common/base/FinalizableReference.class
在以前的 Firebase 版本中,它不包含 com/google/common/base/FinalizableReference.class
我的建筑等级如下:
android {
compileSdkVersion 25
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "com.example.app.myapplication"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android-optimize.txt'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android-optimize.txt'
}
}
lintOptions {
abortOnError false
}
}dependencies {
compile ('com.google.firebase:firebase-core:11.0.0')
compile ('com.google.guava:guava:22.0-android')
}
proguard-android-optimize.txt 文件是
-verbose
-dontoptimize
-ignorewarnings
-dontshrink
-dontwarn com.google.common.**
-dontwarn com.google.android.gms.**
-dontwarn javax.lang.model.element.**
-dontwarn com.google.common.base.FinalizableReference
-keep class com.google.common.base.FinalizableReference
-dontwarn com.google.common.base.internal.Finalizer
-keep class com.google.common.base.internal.Finalizer
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
GitHub 的 Google 员工已确认该问题并表示正在修复。
我个人认为这是一个错误,而不仅仅是声明了 Guava 依赖项。我不得不同时将 Play 服务回滚到 10.2.6。
供您参考 - Response to this on GitHub