在 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