【问题标题】:Gradle failed to resolve com.google.android.gms:play-services-auth:11.6.0 [duplicate]Gradle 无法解析 com.google.android.gms:play-services-auth:11.6.0 [重复]
【发布时间】:2017-11-12 00:22:44
【问题描述】:

我正在尝试在我的移动应用程序中使用 google 登录,但在遵循 google 的教程后出现以下错误。

“无法解析: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'
}

那么这里出了什么问题以及为什么我无法构建项目?

【问题讨论】:

标签: android google-api android-gradle-plugin google-signin


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    确定问题:

    库版本有冲突,您使用的是'com.google.android.gms:play-services-auth:11.6.0',这是现在的最后一个版本,需要兼容的compileSdkVersiontargetSdkVersion

    为什么会这样?:

    编译lib 包含比您的应用 api 级别更高的api 级别。

    解决方案:

    将您的compileSdkVersiontargetSdkVersion 上传到最新版本(现在是27 和您的com.android.support,以便与整个应用程序兼容和库。

    您还必须将google() 添加到您的存储库中:

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

    注意:此问题不需要更新targetSdkVersion,但最好针对各种设备开发app

    【讨论】:

    • 您绝对不需要像this blog post那样在更新compileSdkVersion的同时更新您的targetSdkVersion
    • 这次找不到google()。我收到此错误:“错误:(6, 0) 找不到方法 google() 用于存储库容器上的参数 []。”
    • @user1474111 看来您使用的是 AS 2.3.3 版,因此您必须使用 maven { url "https://maven.google.com" } 而不是 google()
    【解决方案3】:

    确保您已在 SDK 管理器中下载了 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
    }
    

    【讨论】:

    • 还需要添加maven { url "https://maven.google.com" } repo 以及它不包含在 OP 的清单中。
    • @MarkKeen 确实 google() 替换它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 2021-06-12
    • 2022-01-14
    • 2021-08-17
    • 2018-06-29
    • 1970-01-01
    相关资源
    最近更新 更多