In project 'app' a resolved Google Play services library dependency depends on another at an exact version

后端 未结 22 1854
情话喂你
情话喂你 2020-12-08 13:42

Trying to create a simple app with FireStore and Google Authentication. Having problem with the gradle:

In project \'app\' a resolved Google Play serv

相关标签:
22条回答
  • 2020-12-08 13:47

    There are many answers here for individual solutions that do not really get down to the problem. Here is how to solve this in general:

    As the original log output suggests, it is useful to run the build in the terminal with the following command:

    ./gradlew --info assembleDebug

    This will give you a list of all dependencies that are involved in the conflict. It looks similar to this (I removed the package name stuff to make it a bit more readable):

    Dependency Resolution Help: Displaying all currently known paths to any version of the dependency: Artifact(groupId=com.google.firebase, artifactId=firebase-iid)
    
    -- task/module dep -> firebase-analytics@17.2.0
    ---- firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
    ------ play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0
    
    -- task/module dep -> firebase-core@17.2.0
    ---- firebase-core:17.2.0 library depends -> firebase-analytics@17.2.0
    ------ firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
    -------- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0
    
    -- task/module dep -> play-services-measurement-api@17.2.0
    ---- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0
    
    -- task/module dep -> firebase-iid@19.0.0
    
    -- task/module dep -> firebase-messaging@17.1.0
    ---- firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]
    
    -- task/module dep -> com.pressenger:sdk@4.8.0
    ---- com.pressenger:sdk:4.8.0 library depends -> firebase-messaging@17.1.0
    ------ firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]
    

    From this list you get to know 2 things:

    1. Where is the conflicting depedency found
    2. What versions of the conflicting dependency are set up

    In my case the conflicting dependency is firebase-iid: It's either @19.0.0 or @16.2.0

    To fix this you must define the top-level dependency of the wrong firebase-iid explicitly in your build.gralde.

    So in the upper log you can see that there are 2 examples of an out-dated version of firebase-iid@16.2.0. One comes from -- task/module dep -> firebase-messaging@17.1.0 the other one from a third-party library (pressenger). We don't have influence on the third-party library, so nothing to do here. But for the other dependency, we have to declare it explicitly with the correct version:

    implementation 'com.google.firebase:firebase-messaging:20.0.0'

    Now the build works again. Happy ending :)

    0 讨论(0)
  • 2020-12-08 13:48

    There's a known bug with Google Services 4.2.0 that may cause this. Downgrading your google-services version to 4.1.0 in your project's build.gradle may resolve the issue

    buildscript {
        dependencies {
            classpath 'com.google.gms:google-services:4.1.0' //decreased from 4.2.0
        }
    }
    
    0 讨论(0)
  • 2020-12-08 13:49

    Your app/build.gradle might have these lemon color blocked on dependencies part in Android Studio like on the picture below,

    image

    These (lemon color blocks) mean it's not latest version of dependency. just put mouse on each block, then IDE (Android Studio) tells the numbers that have to be changed.

    0 讨论(0)
  • 2020-12-08 13:51

    None of the other answers worked for me. My use-case is with React-Native 61+ trying to setup FCM and Analytics. What worked for me was using the latest google-services in android/build.gradle

    dependencies {
        classpath "com.android.tools.build:gradle:3.4.2"
        classpath "com.google.gms:google-services:4.3.3" // Need the latest here
    }
    

    And then adding the gradle dependencies to android/app/build.gradle required for the products I'm using (in my case Analytics and Cloud Messaging) from here

    dependencies {
        ...
        // add the Firebase SDK for Google Analytics
        implementation 'com.google.firebase:firebase-messaging:20.1.0'
        implementation 'com.google.firebase:firebase-analytics:17.2.2'
        ...
    }
    
    0 讨论(0)
  • 2020-12-08 13:55

    My project was working fine (No build issues). All of a sudden, I got this error

    "resolved Google Play services library dependency depends on another at an exact version.."

    I figured out that it was because I was building offline.

    If anyone gets the same error, check if you are building offline.

    0 讨论(0)
  • 2020-12-08 13:55

    This is new thing happen to me that If your network is not secure and you are getting prompt of Untrusted Certificate.

    If you will Accept or Reject, It will give this error until your network will not be secure.

    You can work offline by checking Setting -> Gradle -> Offline Mode

    0 讨论(0)
提交回复
热议问题