在项目“应用”中,已解决的Google Play服务库依赖关系依赖于另一个确切版本

问题描述 投票:8回答:4

尝试使用FireStore和Google身份验证创建一个简单的应用程序。有问题的gradle:

在项目'app'中,已解决的Google Play服务库依赖关系取决于另一个确切版本(例如“[15.0.1]”,但未解析为该版本。库所展示的行为将是未知的。

依赖性失败:com.google.android.gms:play-services-flags:15.0.1 - > com.google.android.gms:play-services-basement @ [15.0.1],但是play-services-basement版本是16.0.1。

以下依赖项是直接的项目依赖项,或者具有传递依赖项,这些依赖项导致与问题相关的艺术问题。 - 项目'app'取决于com.google.firebase:[email protected] - 项目'app'取决于com.firebaseui:[email protected]

对于扩展调试信息,请使用./gradlew --info:app:assembleDebug从命令行执行Gradle,以查看工件的dep endency路径。此错误消息来自google-services Gradle插件,报告问题位于https:// github.com/google/play-services-plugins并通过将“googleServices {disableVersionCheck = false}”添加到您的b uild.gradle文件来禁用。

    apply plugin: 'com.android.application'

    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "myapp.com"
            minSdkVersion 19
            targetSdkVersion 27
            versionCode 11
            versionName "1.1"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
        implementation 'com.google.firebase:firebase-firestore:17.1.5'

        implementation 'com.firebaseui:firebase-ui-auth:4.2.0'

    }

    apply plugin: 'com.google.gms.google-services'
    com.google.gms.googleservices.GoogleServicesPlugin

项目gradle:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'

        classpath 'com.google.gms:google-services:4.2.0'

    }
}

有人能帮助我吗?

android android-gradle firebaseui
4个回答
10
投票

问题是缺少依赖性。添加com.google.firebase:firebase-auth解决了这个问题。

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.firebase:firebase-firestore:17.1.5'

//    implementation'com.google.firebase:firebase-core:16.0.6'
//    implementation'com.google.firebase:firebase-storage:16.0.5'

    implementation'com.google.firebase:firebase-auth:16.1.0' => add this line
    implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
}

3
投票

有一个known bug与谷歌服务4.2.0可能会导致这种情况。在项目的build.gradle中将您的google-services版本降级到4.1.0可能会解决此问题

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.1.0' //decreased from 4.2.0
    }
}

1
投票

将我的所有Google Play服务库更新为最新的所有模块为我解决了这个问题。我没有看到你有任何Google Play服务库,但我想把这个答案留给那些可能会觉得有用的人。


1
投票

谢谢,但不幸的是,这对我来说并不完全有效。我还必须将以下内容添加到我的build.grade(Module:app)

implementation 'com.google.android.gms:play-services-flags:16.0.1'
implementation 'com.google.android.gms:play-services-basement:16.0.1'
© www.soinside.com 2019 - 2024. All rights reserved.