Gradle无法解析com.google.android.gms:play-services-auth:11.6.0

时间:2017-11-12 00:22:44

标签: android google-api android-gradle google-login

我正在尝试在我的移动应用中使用谷歌登录,但在关注谷歌教程后我收到了以下错误。

  

"未能解决:com.google.android.gms:play-services-auth:11.6.0"

我的gradle文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath 'com.google.gms:google-services:3.1.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

另一个是:

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

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.myapp.myapp"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    testCompile 'junit:junit:4.12'
    compile 'com.google.android.gms:play-services-auth:11.6.0'
}

那么这里有什么问题以及为什么我无法建立这个项目?

3 个答案:

答案 0 :(得分:30)

我有同样的问题,我可以通过将maven { url "https://maven.google.com" }添加到项目级build.gradle中的存储库列表来解决它,如下所示。

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }
    }
}

此外,请确保在您的依赖项之后出现此apply plugin: 'com.google.gms.google-services'以避免版本问题。

答案 1 :(得分:2)

确定问题:

库版本存在冲突,您使用的是'com.google.android.gms:play-services-auth:11.6.0',而最后一个版本现在需要兼容的compileSdkVersion和{{1} }

为什么会发生?:

编译targetSdkVersion包含的lib级别高于 app api级别。

<强>解决方案:

将您的apicompileSdkVersion上传到上一个版本(现在为targetSdkVersion,以及您的27也是与整个 app 和libs兼容。

此外,您还必须将com.android.support添加到您的存储库:

google()

注意:此问题不需要更新repositories { jcenter() google() } ......... allprojects { repositories { jcenter() google() } } ,但针对各种设备定制产品 app 会更好。

答案 2 :(得分:0)

确保您已在SDK Manager中下载了GooglePlay服务

请移动此行:

apply plugin: 'com.google.gms.google-services'
gradle文件末尾的

(它必须在结尾处)

此外,您可以升级版本:

classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'com.google.gms:google-services:3.1.1'

在存储库中添加google()

 buildscript {
        repositories {
            jcenter()
            google()
        }

        dependencies {
            classpath 'com.android.tools.build:gradle:2.2.3'
            classpath 'com.google.gms:google-services:3.1.0'}
        }
    }

    allprojects {
        repositories {
            jcenter() 
            google()
        }
    }

task clean(type: Delete) {
    delete rootProject.buildDir
}