代码之家  ›  专栏  ›  技术社区  ›  SanThee

Android:由于firebase/com,无法解析GoogleSignInClient。谷歌。安卓gms:播放服务身份验证版本冲突

  •  -1
  • SanThee  · 技术社区  · 8 年前

    除了为我的案例解决问题(这已经是超级棒了)之外,我还对如何调试这类东西感兴趣(这不是我第一次遇到这类问题,每次都很麻烦)

    我的问题:

    我希望我的用户能够在我的android应用程序中使用他们的google帐户登录并遵循 this guide (最新和最伟大的)。

    显然,这要求我:

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

    (…否则Android studio找不到GoogleSignInClient。)

    现在痛苦开始了。。。

    一旦我重新同步gradle,它就无法获得不同版本的

    编译com。谷歌。安卓gms:播放服务授权: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。谷歌。firebase:firebase analytics,如果您调整它抱怨的com版本。谷歌。firebase:firebase核心,如果你适应了它,它就不再抱怨了,但我在gradle构建时得到了一个很好的信息:

    错误:任务“:myProject:ProcessDebuggGoogleServices”的执行失败。 请通过更新google services插件的版本来修复版本冲突(有关最新版本的信息,请访问 https://bintray.com/android/android-tools/com.google.gms.google-services/ )或更新com的版本。谷歌。安卓gms至9.0.0。

    如果我这样做了,就再也找不到GoogleSignInClient了。

    事实上,我不使用firebase(据我所知),所以禁用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'
    }
    
    2 回复  |  直到 8 年前
        1
  •  0
  •   Rosário Pereira Fernandes Aabid Ansar    8 年前

    您应该将此行添加到应用程序构建的底部。gradle文件:

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

    compile 'com.google.firebase:firebase-core:11.8.0'
    

    我看到了对firebase分析的依赖。我认为这不存在,因为它没有显示在 List of Available Firebase Features

        2
  •  -1
  •   SanThee    8 年前

    这显然是对我问题的回答:

    Version conflict updating to play-services 9.4.0 Android studio 2.2

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

    应低于

    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'
    

    另一个依赖性问题以另一种不同的方式解决。。。

    (如果对这类东西进行一般调试,我同意,我真的很讨厌这类问题,似乎没有解决这些问题的一般方法,我的build.gradle文件不断乱扔是我的印象……)