Android:由于 firebase/com.google.android.gms:play-services-auth 版本冲突,无法解析 GoogleSignInClient

标签 android firebase gradle google-authentication

除了为我的案例解决了问题(这已经是 super 膨胀了)我通常也对如何调试这种东西感兴趣(这不是我第一次遇到这种问题并且每次都解决它麻烦)

我的问题:

我希望我的用户能够在我的 Android 应用中使用他们的 google 帐户登录并关注 this guide (最新和最伟大的)。

显然它要求我有:

compile 'com.google.android.gms:play-services-auth:11.8.0'

(...否则 Android Studio 找不到 GoogleSignInClient。)

现在是痛苦开始的地方...

一旦我重新同步 gradle,它就无法拥有不同版本的
compile 'com.google.android.gms:play-services-auth:11.8.0'


compile 'com.google.firebase:firebase-analytics:9.0.0'
compile 'com.google.firebase:firebase-core:9.0.0'

(这两行是在Android Studio的'指导'下添加的,9.0.0版本是降级(见下文))

第一个 Android 工作室提示 com.google.firebase:firebase-analytics,如果你调整它提示 com.google.firebase:firebase-core 的版本,如果你适应它就停止提示,但我在 gradle 构建时收到这个好消息:

Error:Execution failed for task ':myProject:processDebugGoogleServices'. Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.



如果我这样做,则不再找到 GoogleSignInClient。

实际上我不使用firebase(我知道)所以禁用已经是一个值得回答这个问题的解决方案。

到目前为止,禁用插件并将其设置在我的 AndroidManifest.xml 中:
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />

没有解决多少。

任何反馈,然后欢迎...

S。

我的顶级 gradle 文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url "https://maven.java.net/content/groups/public/"
        }
        maven {
            url "https://maven.google.com"
        }
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.google.gms:google-services:3.1.1'
    }
}
allprojects {
    repositories {
        mavenCentral()
        google()
    }
}

dependencies {
}

ext {
    compileSdkVersion = 25
    buildToolsVersion = '25.0.2'
}

我的项目特定文件:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 25
    buildToolsVersion '26.0.2'

    defaultConfig {
        applicationId "a.mystery"
        minSdkVersion 16
        targetSdkVersion 25
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:25.4.0'
    compile 'com.android.support:support-v4:25.4.0'
    compile 'ch.acra:acra:4.9.2'
    compile 'com.google.android.gms:play-services-auth:11.8.0'
    compile 'com.loopj.android:android-async-http:1.4.9'
    compile 'com.koushikdutta.ion:ion:2.+'
    compile('com.googlecode.json-simple:json-simple:1.1.1') {
        exclude group: 'org.hamcrest', module: 'hamcrest-core'
    }
    compile 'com.google.firebase:firebase-analytics:9.0.0'
    compile 'com.google.firebase:firebase-core:9.0.0'
}

最佳答案

您应该将此行添加到应用程序的 build.gradle 文件的底部:

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

并将您的 firebase-core 依赖项更新到最新版本:
compile 'com.google.firebase:firebase-core:11.8.0'

我看到了对 firebase-analytics 的依赖。我认为不存在,因为它没有显示在 List of Available Firebase Features 中。 .

关于Android:由于 firebase/com.google.android.gms:play-services-auth 版本冲突,无法解析 GoogleSignInClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48361895/

相关文章:

android - 为什么移动特定的 css 似乎只针对屏幕尺寸?

firebase - Flutter Firebase Cloud Messaging 消息文本和标题

file - 如何将 Artifactory 上传到 Artifactory/在 Artifactory 没有扩展名的构建系统 (Gradle Maven Ant) 中使用它

intellij-idea - Spring Data Neo4j JUnit4设置

javascript - Firebase 离线缓存 & 原始 firebase.js 源代码

android - Android studio:app:DexDebug错误

android - 非法参数异常 : LinearLayoutManager is already attached to a RecyclerView

android - 如何停止在我的应用程序中拦截 Zxing Intent ?

android - 如何使用 OkHttp Android 避免 SSL 握手

javascript - 嵌套在 firebase 集合模型中的集合没有添加功能