Firebase-android-sdk: Duplicate class ListenableFuture after update

Created on 6 Mar 2020  路  14Comments  路  Source: firebase/firebase-android-sdk

[READ] Step 1: Are you in the right place?

Issues filed here should be about bugs in __the code in this repository__.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

  • For general technical questions, post a question on StackOverflow
    with the firebase tag.
  • For general Firebase discussion, use the firebase-talk
    google group.
  • For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    Firebase support channel.

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: 3.6.1
  • Firebase Component: Firestore
  • Component version: 21.4.1

[REQUIRED] Step 3: Describe the problem

Steps to reproduce:

After update Firebase BoM to 25.0.0 build failed:

Duplicate class com.google.common.util.concurrent.ListenableFuture found in modules jetified-guava-26.0-android.jar (com.google.guava:guava:26.0-android) and jetified-listenablefuture-1.0.jar (com.google.guava:listenablefuture:1.0)
firestore

Most helpful comment

@drusak use this line instead:

implementation "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava"

All 14 comments

@PromanSEW Sorry to hear about this.

If you are able, can you share either your Gradle dependency file or a small reproduction? Thank you!

dependencies {
    implementation platform('com.google.firebase:firebase-bom:25.0.0')
    implementation "com.crashlytics.sdk.android:crashlytics"
    implementation "com.google.android.gms:play-services-location:17.0.0"
    implementation "com.google.firebase:firebase-ads"
    implementation "com.google.firebase:firebase-analytics"
    implementation "com.google.firebase:firebase-firestore"
}

I see that empty dependency listenablefuture-9999.0-empty-to-avoid-conflict-with-guava was changed to listenablefuture-1.0

@PromanSEW I am not abe tor reproduce your issue. Can you provide your output of ./gradlew :app:dependencies (or similar). With your dependencies, my output looks as such:

https://gist.github.com/schmidt-sebastian/dacd4767445728968fc2262d0e4904c9

As you can see, :app still depends on listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.

@schmidt-sebastian I found the root problem: androidx.browser:browser:1.2.0
https://drive.google.com/open?id=1ri8SuunE5ziy2RUpHiFtIEpml4bEcEMs
https://drive.google.com/open?id=1JApB6xO-wPPhDcCbX6RWEUBsjtjNbWGo
What should I do? Force exclude listenable-future from androidx.browser:browser?

Thanks for the update! For now, I would suggest to force exclude the conflicting dependency. I will try to reach out internally to see if they can drop the dependency.

Thank you!

Have same issue when updating version of firestore from 21.4.0 to 21.4.1

@drusak Can you please share your dependency tree?

@schmidt-sebastian sure

productionReleaseRuntimeClasspath - Runtime classpath of compilation 'productionRelease' (target  (androidJvm)).
+--- androidx.databinding:databinding-common:3.6.1
+--- androidx.databinding:databinding-runtime:3.6.1
|    +--- androidx.databinding:viewbinding:3.6.1
|    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.2.0
|    |    +--- androidx.lifecycle:lifecycle-common:2.2.0
|    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.arch.core:core-common:2.1.0
|    |    |    \--- androidx.annotation:annotation:1.1.0
|    |    \--- androidx.annotation:annotation:1.1.0
|    +--- androidx.collection:collection:1.0.0 -> 1.1.0
|    |    \--- androidx.annotation:annotation:1.1.0
|    \--- androidx.databinding:databinding-common:3.6.1
+--- androidx.databinding:databinding-adapters:3.6.1
|    +--- androidx.databinding:databinding-common:3.6.1
|    \--- androidx.databinding:databinding-runtime:3.6.1 (*)
+--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.61
|         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.3.61
|         \--- org.jetbrains:annotations:13.0 -> 16.0.1
+--- androidx.multidex:multidex:2.0.1
+--- com.google.android.material:material:1.1.0
|    +--- androidx.annotation:annotation:1.0.1 -> 1.1.0
|    +--- androidx.appcompat:appcompat:1.1.0 -> 1.2.0-alpha02 (*)
|    +--- androidx.cardview:cardview:1.0.0
|    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.core:core:1.1.0 -> 1.3.0-alpha01 (*)
|    |    +--- androidx.customview:customview:1.0.0 (*)
|    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    +--- androidx.core:core:1.1.0 -> 1.3.0-alpha01 (*)
|    +--- androidx.fragment:fragment:1.0.0 -> 1.2.0 (*)
|    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.2.0 (*)
|    +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.1.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.core:core:1.1.0 -> 1.3.0-alpha01 (*)
|    |    +--- androidx.customview:customview:1.0.0 (*)
|    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    +--- androidx.transition:transition:1.2.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- androidx.core:core:1.0.1 -> 1.3.0-alpha01 (*)
|    |    \--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
|    \--- androidx.viewpager2:viewpager2:1.0.0
|         +--- androidx.annotation:annotation:1.1.0
|         +--- androidx.fragment:fragment:1.1.0 -> 1.2.0 (*)
|         +--- androidx.recyclerview:recyclerview:1.1.0 (*)
|         +--- androidx.core:core:1.1.0 -> 1.3.0-alpha01 (*)
|         \--- androidx.collection:collection:1.1.0 (*)
+--- androidx.browser:browser:1.2.0
|    +--- androidx.core:core:1.1.0 -> 1.3.0-alpha01 (*)
|    +--- androidx.annotation:annotation:1.1.0
|    +--- com.google.guava:listenablefuture:1.0
|    +--- androidx.collection:collection:1.1.0 (*)
|    +--- androidx.concurrent:concurrent-futures:1.0.0
|    |    +--- com.google.guava:listenablefuture:1.0
|    |    \--- androidx.annotation:annotation:1.1.0
|    \--- androidx.interpolator:interpolator:1.0.0 (*)
+--- androidx.recyclerview:recyclerview:1.1.0 (*)
+--- androidx.cardview:cardview:1.0.0 (*)
+--- androidx.lifecycle:lifecycle-extensions:2.2.0
|    +--- androidx.lifecycle:lifecycle-runtime:2.2.0 (*)
|    +--- androidx.arch.core:core-common:2.1.0 (*)
|    +--- androidx.arch.core:core-runtime:2.1.0 (*)
|    +--- androidx.fragment:fragment:1.2.0 (*)
|    +--- androidx.lifecycle:lifecycle-common:2.2.0 (*)
|    +--- androidx.lifecycle:lifecycle-livedata:2.2.0 (*)
|    +--- androidx.lifecycle:lifecycle-process:2.2.0
|    |    \--- androidx.lifecycle:lifecycle-runtime:2.2.0 (*)
|    +--- androidx.lifecycle:lifecycle-service:2.2.0
|    |    \--- androidx.lifecycle:lifecycle-runtime:2.2.0 (*)
|    \--- androidx.lifecycle:lifecycle-viewmodel:2.2.0 (*)
+--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.50 -> 1.3.61 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0 -> 1.3.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.61 (*)
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3
|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.61 (*)
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.3.61
|    \--- androidx.lifecycle:lifecycle-viewmodel:2.2.0 (*)
+--- androidx.lifecycle:lifecycle-livedata-ktx:2.2.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.50 -> 1.3.61 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0 -> 1.3.3 (*)
|    +--- androidx.lifecycle:lifecycle-livedata:2.2.0 (*)
|    \--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.2.0
|         +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.50 -> 1.3.61 (*)
|         \--- androidx.lifecycle:lifecycle-livedata-core:2.2.0 (*)
+--- androidx.lifecycle:lifecycle-common-java8:2.2.0
|    +--- androidx.lifecycle:lifecycle-common:2.2.0 (*)
|    \--- androidx.annotation:annotation:1.1.0
+--- androidx.paging:paging-runtime:2.1.1
|    +--- androidx.paging:paging-common:2.1.1
|    |    +--- androidx.annotation:annotation:1.1.0-alpha02 -> 1.1.0
|    |    \--- androidx.arch.core:core-common:2.0.0 -> 2.1.0 (*)
|    +--- androidx.arch.core:core-runtime:2.0.1-alpha01 -> 2.1.0 (*)
|    +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.2.0 (*)
|    +--- androidx.lifecycle:lifecycle-livedata:2.1.0-alpha03 -> 2.2.0 (*)
|    \--- androidx.recyclerview:recyclerview:1.0.0 -> 1.1.0 (*)
+--- com.crashlytics.sdk.android:crashlytics:2.10.1
|    +--- com.crashlytics.sdk.android:crashlytics-core:2.7.0
|    |    +--- io.fabric.sdk.android:fabric:1.4.8
|    |    \--- com.crashlytics.sdk.android:answers:1.4.7
|    |         \--- io.fabric.sdk.android:fabric:1.4.8
|    +--- com.crashlytics.sdk.android:beta:1.2.10
|    |    \--- io.fabric.sdk.android:fabric:1.4.4 -> 1.4.8
|    +--- io.fabric.sdk.android:fabric:1.4.8
|    \--- com.crashlytics.sdk.android:answers:1.4.7 (*)
+--- com.crashlytics.sdk.android:crashlytics-ndk:2.1.1
|    +--- com.crashlytics.sdk.android:crashlytics-core:2.7.0 (*)
|    \--- io.fabric.sdk.android:fabric:1.4.8
+--- com.google.firebase:firebase-messaging:20.1.0
|    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    +--- com.google.android.datatransport:transport-api:2.2.0
|    +--- com.google.android.datatransport:transport-backend-cct:2.2.0
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- com.google.android.datatransport:transport-api:2.2.0
|    |    +--- com.google.android.datatransport:transport-runtime:2.2.0
|    |    |    +--- androidx.annotation:annotation:1.1.0
|    |    |    +--- com.google.android.datatransport:transport-api:2.2.0
|    |    |    \--- com.google.dagger:dagger:2.24
|    |    |         \--- javax.inject:javax.inject:1
|    |    \--- com.google.firebase:firebase-encoders-json:16.0.0
|    |         \--- androidx.annotation:annotation:1.1.0
|    +--- com.google.android.datatransport:transport-runtime:2.2.0 (*)
|    +--- com.google.android.gms:play-services-basement:17.0.0
|    |    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    |    \--- androidx.fragment:fragment:1.0.0 -> 1.2.0 (*)
|    +--- com.google.android.gms:play-services-tasks:17.0.0
|    |    \--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    +--- com.google.firebase:firebase-common:19.3.0
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    +--- com.google.auto.value:auto-value-annotations:1.6.5
|    |    \--- com.google.firebase:firebase-components:16.0.0
|    |         \--- androidx.annotation:annotation:1.1.0
|    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    +--- com.google.firebase:firebase-datatransport:17.0.3
|    |    +--- androidx.annotation:annotation:1.1.0
|    |    +--- com.google.android.datatransport:transport-api:2.1.0 -> 2.2.0
|    |    +--- com.google.android.datatransport:transport-backend-cct:2.1.0 -> 2.2.0 (*)
|    |    +--- com.google.android.datatransport:transport-runtime:2.1.0 -> 2.2.0 (*)
|    |    \--- com.google.firebase:firebase-common:19.3.0 (*)
|    +--- com.google.firebase:firebase-encoders-json:16.0.0 (*)
|    +--- com.google.firebase:firebase-iid:[20.0.2] -> 20.0.2
|    |    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0
|    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    |    |    +--- androidx.documentfile:documentfile:1.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    +--- androidx.loader:loader:1.0.0 (*)
|    |    |    +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    \--- androidx.print:print:1.0.0
|    |    |         \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-stats:17.0.0
|    |    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|    |    |    \--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    |    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    |    \--- com.google.firebase:firebase-iid-interop:17.0.0
|    |         +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0
|    |         |    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |         |    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    |         |    +--- androidx.fragment:fragment:1.0.0 -> 1.2.0 (*)
|    |         |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |         |    \--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |         \--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    \--- com.google.firebase:firebase-measurement-connector:18.0.0
|         \--- com.google.android.gms:play-services-basement:17.0.0 (*)
+--- com.google.firebase:firebase-config:19.1.1
|    +--- com.google.firebase:firebase-abt:19.0.1
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    |    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    |    +--- com.google.firebase:firebase-measurement-connector:18.0.0 (*)
|    |    \--- com.google.protobuf:protobuf-lite:3.0.1
|    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    +--- com.google.firebase:firebase-iid:20.0.1 -> 20.0.2 (*)
|    +--- com.google.firebase:firebase-measurement-connector:18.0.0 (*)
|    \--- com.google.protobuf:protobuf-lite:3.0.1
+--- com.google.firebase:firebase-analytics:17.2.2
|    +--- com.google.android.gms:play-services-measurement:17.2.2
|    |    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[17.2.2] -> 17.2.2
|    |    |    \--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-measurement-impl:[17.2.2] -> 17.2.2
|    |    |    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    |    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    |    |    +--- com.google.android.gms:play-services-ads-identifier:17.0.0
|    |    |    |    \--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[17.2.2] -> 17.2.2 (*)
|    |    |    \--- com.google.android.gms:play-services-stats:17.0.0 (*)
|    |    \--- com.google.android.gms:play-services-stats:17.0.0 (*)
|    +--- com.google.android.gms:play-services-measurement-api:17.2.2
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[17.2.2] -> 17.2.2 (*)
|    |    +--- com.google.android.gms:play-services-measurement-impl:[17.2.2] -> 17.2.2 (*)
|    |    +--- com.google.android.gms:play-services-measurement-sdk-api:[17.2.2] -> 17.2.2
|    |    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    |    \--- com.google.android.gms:play-services-measurement-base:[17.2.2] -> 17.2.2 (*)
|    |    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    |    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    |    +--- com.google.firebase:firebase-iid:20.0.2 (*)
|    |    \--- com.google.firebase:firebase-measurement-connector:18.0.0 (*)
|    \--- com.google.android.gms:play-services-measurement-sdk:17.2.2
|         +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|         +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[17.2.2] -> 17.2.2 (*)
|         \--- com.google.android.gms:play-services-measurement-impl:[17.2.2] -> 17.2.2 (*)
+--- com.google.firebase:firebase-perf:19.0.5
|    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    +--- com.google.android.gms:play-services-clearcut:17.0.0
|    |    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    |    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-phenotype:17.0.0
|    |    |    +--- androidx.core:core:1.0.0 -> 1.3.0-alpha01 (*)
|    |    |    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    |    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    |    \--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    \--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    +--- com.google.android.gms:play-services-phenotype:17.0.0 (*)
|    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    +--- com.google.firebase:firebase-config:19.0.4 -> 19.1.1 (*)
|    +--- com.google.firebase:firebase-iid:20.0.1 -> 20.0.2 (*)
|    \--- com.squareup.okhttp3:okhttp:3.0.0 -> 3.10.0
|         \--- com.squareup.okio:okio:1.14.0
+--- com.google.firebase:firebase-firestore:21.4.1
|    +--- androidx.annotation:annotation:1.1.0
|    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    +--- com.google.firebase:firebase-auth-interop:18.0.0 -> 19.0.0
|    |    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    \--- com.google.firebase:firebase-common:19.0.0 -> 19.3.0 (*)
|    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    +--- com.google.firebase:firebase-database-collection:17.0.1
|    |    \--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    +--- com.google.firebase:protolite-well-known-types:17.0.0
|    |    \--- com.google.protobuf:protobuf-lite:3.0.1
|    +--- com.squareup.okhttp:okhttp:2.7.5
|    |    \--- com.squareup.okio:okio:1.6.0 -> 1.14.0
|    +--- io.grpc:grpc-android:1.21.0
|    |    \--- io.grpc:grpc-core:[1.21.0] -> 1.21.0
|    |         +--- io.opencensus:opencensus-api:0.21.0
|    |         +--- io.grpc:grpc-api:[1.21.0] -> 1.21.0
|    |         |    +--- io.grpc:grpc-context:1.21.0
|    |         |    +--- com.google.errorprone:error_prone_annotations:2.3.2
|    |         |    +--- com.google.code.findbugs:jsr305:3.0.2
|    |         |    +--- org.codehaus.mojo:animal-sniffer-annotations:1.17
|    |         |    \--- com.google.guava:guava:26.0-android
|    |         |         +--- org.checkerframework:checker-compat-qual:2.5.2
|    |         |         \--- com.google.j2objc:j2objc-annotations:1.1
|    |         +--- com.google.code.gson:gson:2.7
|    |         +--- com.google.android:annotations:4.1.1.4
|    |         \--- io.opencensus:opencensus-contrib-grpc-metrics:0.21.0
|    |              \--- io.opencensus:opencensus-api:0.21.0
|    +--- io.grpc:grpc-okhttp:1.21.0
|    |    +--- io.grpc:grpc-core:[1.21.0] -> 1.21.0 (*)
|    |    +--- com.squareup.okhttp:okhttp:2.5.0 -> 2.7.5 (*)
|    |    \--- com.squareup.okio:okio:1.13.0 -> 1.14.0
|    +--- io.grpc:grpc-protobuf-lite:1.21.0
|    |    +--- io.grpc:grpc-api:1.21.0 (*)
|    |    +--- com.google.protobuf:protobuf-lite:3.0.1
|    |    \--- com.google.guava:guava:26.0-android (*)
|    \--- io.grpc:grpc-stub:1.21.0
|         \--- io.grpc:grpc-api:1.21.0 (*)
+--- com.google.firebase:firebase-database:19.2.1
|    +--- androidx.annotation:annotation:1.1.0
|    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    +--- com.google.firebase:firebase-auth-interop:18.0.0 -> 19.0.0 (*)
|    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    \--- com.google.firebase:firebase-database-collection:17.0.0 -> 17.0.1 (*)
+--- com.google.firebase:firebase-auth:19.2.0
|    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    +--- androidx.fragment:fragment:1.0.0 -> 1.2.0 (*)
|    +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0 (*)
|    +--- com.google.android.gms:play-services-base:17.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    +--- com.google.firebase:firebase-auth-interop:19.0.0 (*)
|    +--- com.google.firebase:firebase-common:19.3.0 (*)
|    \--- com.google.firebase:firebase-components:16.0.0 (*)
+--- com.google.android.gms:play-services-base:17.1.0 (*)
+--- com.google.android.gms:play-services-auth:17.0.0
|    +--- androidx.fragment:fragment:1.0.0 -> 1.2.0 (*)
|    +--- androidx.loader:loader:1.0.0 (*)
|    +--- com.google.android.gms:play-services-auth-api-phone:17.0.0
|    |    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    \--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    +--- com.google.android.gms:play-services-auth-base:17.0.0
|    |    +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    \--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    \--- com.google.android.gms:play-services-tasks:17.0.0 (*)
+--- com.google.android.gms:play-services-analytics:17.0.0
|    +--- com.google.android.gms:play-services-analytics-impl:[17.0.0] -> 17.0.0
|    |    +--- com.google.android.gms:play-services-ads-identifier:17.0.0 (*)
|    |    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    \--- com.google.android.gms:play-services-stats:17.0.0 (*)
|    +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    +--- com.google.android.gms:play-services-stats:17.0.0 (*)
|    \--- com.google.android.gms:play-services-tagmanager-v4-impl:[17.0.0] -> 17.0.0
|         +--- com.google.android.gms:play-services-ads-identifier:17.0.0 (*)
|         +--- com.google.android.gms:play-services-analytics-impl:[17.0.0] -> 17.0.0 (*)
|         +--- com.google.android.gms:play-services-base:17.0.0 -> 17.1.0 (*)
|         \--- com.google.android.gms:play-services-basement:17.0.0 (*)
+--- com.squareup.okhttp3:okhttp:3.10.0 (*)
+--- com.squareup.retrofit:retrofit:1.9.0
|    \--- com.google.code.gson:gson:2.3.1 -> 2.7
+--- com.jakewharton.retrofit:retrofit1-okhttp3-client:1.1.0
|    +--- com.squareup.retrofit:retrofit:1.9.0 (*)
|    \--- com.squareup.okhttp3:okhttp:3.2.0 -> 3.10.0 (*)
+--- com.jakewharton.timber:timber:4.7.1
|    \--- org.jetbrains:annotations:16.0.1
+--- com.squareup.picasso:picasso:2.5.2
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.3.3
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.61 (*)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3 (*)
+--- com.android.installreferrer:installreferrer:1.1.1
\--- androidx.multidex:multidex:2.0.0 -> 2.0.1

@drusak While this is not the cleanest suggestion, can you let me know if excluding com.google.guava:listenablefuture from androidx.browser:browser helps you?

Please take a look at the first answer here for a guide: https://discuss.gradle.org/t/how-do-i-exclude-specific-transitive-dependencies-of-something-i-depend-on/17991

@schmidt-sebastian wll this issue be fixed by Firebase itself without excluding dependency?

@schmidt-sebastian Unfortunately it didn't help
Just added exclude option:

implementation("androidx.browser:browser:$browser_version") {
        exclude group: 'com.google.guava', module: 'listenablefuture'
}

But still have same error in logs while building APK

@drusak use this line instead:

implementation "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava"

The next release of Firestore will drop all direct dependencies on Guava, but our network stack continues to rely on Guava for some of its functionality. We are evaluating moving the network stack off of Guava too, but this will be very long process. Until that happens, issues like the one here will happen from time to time. Note that these conflicts are not Firebase specific, but can happen with any number of packages.

Was this page helpful?
0 / 5 - 0 ratings