【问题标题】:Failed to resolve com.google.android.gms play-services-auth:11.4.0无法解析 com.google.android.gms play-services-auth:11.4.0
【发布时间】:2018-03-07 04:11:37
【问题描述】:

我正在尝试在我的 android 项目中为 Android FirebaseUI — Auth 编写代码,但从最近两天开始,我的当前代码出现错误,不知道如何修复它。很努力,但没有以正确的方式发生。

这是我的 build.gradle(project:FriendlyChat)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        mavenLocal()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
        mavenLocal()
    }
}

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

这是我的 build.gradle(Module:app)

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

repositories {
    mavenLocal()
    flatDir {
        dirs 'libs'
    }
}

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1"

    defaultConfig {
        applicationId "com.google.firebase.udacity.friendlychat"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE-FIREBASE.txt'
        exclude 'META-INF/NOTICE'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // Displaying images
    compile 'com.android.support:design:24.2.1'
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.github.bumptech.glide:glide:3.6.1'
    compile 'com.google.firebase:firebase-database:11.0.4'
    compile 'com.google.firebase:firebase-auth:11.0.4'
   compile 'com.google.android.gms:play-services-auth:11.4.0'

    testCompile 'junit:junit:4.12'
}

【问题讨论】:

  • chenge classpath 'com.android.tools.build:gradle:2.3.2' classpath 'com.google.gms:google-services:3.0.0'

标签: java android android-gradle-plugin google-play-services android-support-library


【解决方案1】:

无法解析 com.google.android.gms play-services-auth:11.4.0 。

maven { url "https://maven.google.com" } 添加到您的根级别build.gradle 文件

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

from 11.2.0开始需要这个maven repo。

您也可以使用google() 快捷方式,但在使用之前请检查requirements

还要注意,因为您使用的是不同的版本。 使用相同的版本。

compile 'com.google.firebase:firebase-database:11.0.4'
compile 'com.google.firebase:firebase-auth:11.0.4'
compile 'com.google.android.gms:play-services-auth:11.4.0'

更新

Firebase Android SDK 和 Google Play 服务库now have independent version numbers,允许更频繁、更灵活的更新。 将 google play 服务 gradle 插件版本更新到最新版本(至少 3.3.1)。

classpath 'com.google.gms:google-services:4.0.1'

并将库更新为latest version

【讨论】:

  • 可能值得补充的是,在我的情况下,我必须在 build.gradle 中的 allprojects.repositoriesbuildscript.repositories 下添加它。
  • @josemigallas 这并不完全准确。如果您在此 repo 中有一些依赖项(例如新的 android 插件),则应将其添加到 buildscript 块中,否则添加所有 repos 没有用。无论如何,它与问题和 11.4.0 无关
  • 在我的情况下,mavenCentral() 已经在 repositories 部分。我不确定我是否应该保留它并添加这篇文章中列出的那个。在首先使用 Maven 的 2 个条目运行它之后 - 构建失败。我看到我现有的一个,应该用这里的答案替换。非常酷 - 构建现在很开心
  • 几个星期以来,它不再是完全相同的版本了。再也找不到关于它的博客文章,但这里是最新版本的发行说明:firebase.google.com/support/release-notes/android。此外,应该可以用简单的 google() 存储库替换 maven 存储库定义(如另一个答案中提到的 naXa),但也请查看我对该答案的评论。
  • @PKuijpers 是的,你是对的。现在有些事情发生了变化。我更新了答案。
【解决方案2】:

google() 存储库添加到您的“build.gradle”文件中。这个gradle方法等价于maven { url "https://maven.google.com" }

repositories {
    jcenter()
    google()
}

【讨论】:

  • 更好!但是,即使较新的 google() 存储库定义上周对我的项目非常有效,但今天我无法再构建我的应用程序,除非我添加 maven 定义而不是 google()... 不确定这是来自 google 还是我的错误不明白区别?错误提示“无法解析 com.google.android.gms:play-services-measurement-base:[15.0.4]。需要 [...] firebase-analytics:16.0.0”
  • @PKuijpers 如果您正在寻求帮助,请尝试提出一个新问题
【解决方案3】:

此错误表示您的 android studio 中未安装 google play services 11.4.0。
要解决此问题,您需要将依赖项的版本更改为您的 android studio 中安装的版本。
为此,请转到:项目结构 -> 项目设置 -> 模块 -> 依赖项
在这里点击+号。找到您想要的依赖项。您可以在此处检查其版本。您也可以从此处将依赖项添加到您的项目中。

始终建议您从 SDK 管理器更新您的 google play services SDK 工具并使用最新版本。

【讨论】:

    【解决方案4】:

    将此添加到您的项目级 gradle 文件中

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

    【讨论】:

    • 这个答案对我来说没问题
    【解决方案5】:

    我今天在这里遇到了同样的问题,只需要在“文件 >> 设置 >> 构建、执行、部署 >> Gradle >> 离线工作”上禁用 gradle 离线工作选项。

    【讨论】:

      【解决方案6】:

      更改您的顶级依赖 gradle 设置

      // 顶级构建文件,您可以在其中添加所有子项目/模块通用的配置选项。

      buildscript {
          repositories {
              jcenter()
              mavenLocal()
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:2.3.2'
      
              // NOTE: Do not place your application dependencies here; they belong
              // in the individual module build.gradle files
              classpath 'com.google.gms:google-services:3.0.0'
          }
      }
      
      allprojects {
          repositories {
              jcenter()
              mavenLocal()
          }
      }
      
      task clean(type: Delete) {
          delete rootProject.buildDir
      }
      

      【讨论】:

        【解决方案7】:

        来自 Firebase doc

        // ADD THIS AT THE BOTTOM
        apply plugin: 'com.google.gms.google-services'
        
        此行的

        底部位置不是顶部(在应用插件下方:'com.android.application')。

        【讨论】:

        • 这解决了我的问题。
        【解决方案8】:

        更改您的顶级依赖 gradle 设置

        打开这个文件 --> build.gradle(Project:*****)

        和过去的代码

        buildscript {
            repositories {
                mavenLocal()
                mavenCentral()
                maven {
                    url "https://maven.google.com"
                }
                jcenter()
                google()
            }
            dependencies {
                classpath 'com.android.tools.build:gradle:3.0.1'
                // NOTE: Do not place your application dependencies here; they belong
                // in the individual module build.gradle files
            }
        }
        
        allprojects {
            repositories {
                jcenter()
                maven {
                    url "https://maven.google.com"
                }
                google()
            }
        }
        
        task clean(type: Delete) {
            delete rootProject.buildDir
        }
        

        或者只是改变

        classpath 'com.android.tools.build:gradle:2.2.2'
        

         classpath 'com.android.tools.build:gradle:3.0.1'
        

        【讨论】:

          【解决方案9】:

          在我的情况下,我打开了 gradle 离线模式,这就是为什么它无法找到该版本播放服务的缓存文件或无法解析的原因。当我将其重新打开时,现在一切正常。

          Android Studio ->> 文件 ->> Gradle ->> 离线 ->> 取消选中

          【讨论】:

            【解决方案10】:

            Android 工作室 3.2 请按照以下步骤操作。

            1.使缓存和重启选项无效。 文件->无效/重启

            1. 删除 .gradle 文件夹。

            它将在下次启动时同步库。

            【讨论】:

              【解决方案11】:

              就我而言,我已经安装了 google() 存储库。在重新启动 Android Studio 之前,我无法解决依赖关系。我的猜测是由于当天早些时候我让 Charles 打开时一些挥之不去的代理配置,它无法解决。

              【讨论】:

                【解决方案12】:

                你可以去maven查看最新版本

                https://mvnrepository.com/artifact/com.google.android.gms/play-services

                然后将 maven { URL "https://maven.google.com" } 添加到您的根级 build.gradle 文件中

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

                【讨论】:

                  【解决方案13】:
                  > maven {
                              url "https://maven.google.com"
                          }
                   repositories {
                      jcenter()
                      google()
                  }
                  
                  
                   use this
                  
                  `implementation 'com.google.android.gms:play-services-ads:19.3.0'` 
                  
                  instead of
                  
                  `compile 'com.google.android.gms:play-services-auth:11.4.0'`
                  
                      
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2018-03-27
                    • 2018-11-18
                    • 2013-04-06
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-05-15
                    • 2018-11-06
                    相关资源
                    最近更新 更多