Firebase 的 FirebaseUI 3.1.2 依赖问题 auth/firestore 11.8.0

FirebaseUI 3.1.2 dependency issue with firebase auth/firestore 11.8.0

我在 FirebaseUI 文档中看到过这个问题,但我无法理解解决方案。我想使用最新版本的Firebase Auth和Firestore,以及最新版本的FirebaseUI。这可能吗?请不要只 link 我查看依赖性问题的文档,我非常感谢对文档的解释以及在我的依赖性上实际写什么来解决这个问题。我很想自己写 UI,但是 firebaseUI 太好了,不容错过。这是我现在的依赖项:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.google.firebase:firebase-firestore:11.8.0'
    implementation 'com.google.firebase:firebase-auth:11.8.0'


    implementation 'com.android.support:design:26.1.0'
    implementation 'com.google.firebase:firebase-core:11.8.0'
    implementation 'com.google.firebase:firebase-database:11.8.0'
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:appcompat-v7:26.1.0'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    implementation 'com.firebaseui:firebase-ui-auth:3.1.2'
}

在我过去的修复尝试中,我只是尝试降低 firebase 的版本..但这不是我正在寻找的解决方案,它通常只会导致其他错误。非常感谢您!

编辑:这是错误消息:所有 gms/firebase 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本 11.8.0、11.6.2。 示例包括 com.google.android.gms:play0services-base:11.8.0 和 com.google.android.gms:play-services-auth:11.6.2.

{发生此错误大概是因为 firebaseui 3.1.2 依赖于 Firebase 11.6.2。但是我尝试使用的版本是 11.8.0}

您可以使用 exclude 关键字排除依赖关系。

implementation('com.firebaseui:firebase-ui-auth:3.1.2') {
     exclude group: 'com.google.android.gms'
     exclude group: 'com.google.firebase'
}

Firebase SDK 版本 11.8.0 于 2017 年 12 月 18 日发布,目前没有正式发布的 FirebaseUI 版本。您可以在 https://github.com/firebase/FirebaseUI-Android

查看相应版本的 Firebase UI - Firebase Services

相应的 FirebaseUI 版本和 Firebase/Play 服务版本列为:

3.1.2 --- 11.6.2

3.1.0 --- 11.4.2

3.0.0 --- 11.4.2

2.4.0 --- 11.4.0

...

这就是您收到类似错误的原因:

all gms/firebase libraries must use the exact same version specification(mixing versions can lead to runtime crashes). Found versions 11.8.0,11.6.2. Examples include com.google.android.gms:play0services-base:11.8.0 and com.google.android.gms:play-services-auth:11.6.2.

检查您的

compile 'com.android.support:appcompat-v7:**26**.1.0'

版本与您的版本相同

targetSdkVersion **26**

我的不一样,改变这个解决了问题。