Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:由于firebase/com.google.Android.gms:play services授权版本冲突,无法解析GoogleSignInClient_Android_Firebase_Gradle_Google Authentication - Fatal编程技术网

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

Android:由于firebase/com.google.Android.gms:play services授权版本冲突,无法解析GoogleSignInClient,android,firebase,gradle,google-authentication,Android,Firebase,Gradle,Google Authentication,除了为我的案例解决问题(这已经是超级棒了),我还对如何调试这类东西感兴趣(这不是我第一次遇到这类问题,解决它每次都很麻烦) 我的问题: 我希望我的用户能够在我的android应用程序中使用他们的google帐户登录并遵循(最新和最好的) 显然,这要求我具备: compile 'com.google.android.gms:play-services-auth:11.8.0' (…否则Android studio找不到GoogleSignInClient。) 现在痛苦开始了 一旦我重新同步gra

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

我的问题:

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

显然,这要求我具备:

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'

(这两行是根据Android Studio的“指导”添加的,9.0.0版本是降级(见下文))

首先,Android studio抱怨com.google.firebase:firebase analytics,如果你调整它抱怨com.google.firebase:firebase core的版本,如果你调整它停止抱怨,但我在gradle构建时收到了这样一条好消息:

错误:任务“:myProject:ProcessDebuggGoogleServices”的执行失败。 请通过更新google services插件的版本(有关最新版本的信息,请访问)或将com.google.android.gms的版本更新为9.0.0来修复版本冲突

如果我这么做了,谷歌的客户端就再也找不到了

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

到目前为止,禁用插件并在my AndroidManifest.xml中设置:

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
我的项目特定文件:

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'
}

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

应该在下面

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文件不断乱扔是我的印象…

你应该在你的应用程序build.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.google.gms.google-services'
并将您的firebase core依赖项更新至最新版本:

compile 'com.google.firebase:firebase-core:11.8.0'
我看到了对firebase分析的依赖。我认为这不存在,因为它没有显示在屏幕上

apply plugin: 'com.google.gms.google-services'
compile 'com.google.firebase:firebase-core:11.8.0'