224

通过 gradle 引用 play-services 停止为我工作 - 归结为 - 甚至我最初用作参考的示例也停止工作: https: //plus.google.com/+AndroidDevelopers/posts/4Yhpn6p9icf

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':auth'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':auth:compile'.
      > Could not find com.google.android.gms:play-services:3.1.36.
        Required by:
            gpsdemos:auth:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.577 secs

我担心只是版本增加了,但这引发了两个问题:#1)什么是新版本?#2) 为什么旧版本不见了?

4

12 回答 12

465

检查您是否还安装了“Google 存储库”。如果没有,您还必须在 SDK 管理器中安装“Google Repository”。

另请注意,可能有 2 个 SDK 安装 - 一个来自 AndroidStudio,另一个您可能已经安装。最好将它整合到一个安装中——这是一个常见的陷阱——你在一个安装中安装了它,但是当你用另一个安装构建时它会失败。

如何访问 SDK Manager for Google Repository 的示例

于 2013-06-17T21:32:12.113 回答
60

只需从您的 sdk 管理器安装Google Repository ,然后重新启动 Android Studio。

于 2014-04-17T07:36:46.493 回答
37

除了安装存储库和 SDK 包之外,还应注意版本号会定期更改。此时一个简单的解决方案是用加号 (+) 替换特定的版本号。

compile 'com.google.android.gms:play-services:+'

谷歌说明表明应该确保升级版本号,但是添加加号处理版本控制的更改。另请注意,在 Android Studio 中构建时,当有新版本可用时,状态行中会显示一条消息。

可以通过向下钻取正确的存储库路径来查看播放服务的可用版本:

播放服务存储库路径

参考

站点还包含 Eclipse 和其他 IDE 的说明。

ADS 设置

于 2014-08-11T01:16:12.567 回答
16

在找到这篇文章之前,我已经为这个问题苦苦挣扎了几个小时。就像@ligi 说的,有些人有两个SDK 文件夹(Android Studio,捆绑和Eclipse)。问题是,如果您在两个 SDK 文件夹上下载了 Google Play Services 库并不重要,您的 ANDROID_HOME 环境变量必须指向 Android Studio 使用的 SDK 文件夹。

SDK Folder A  (Used on Eclipse)
SDK Folder B  (Used on AS)

ANDROID_HOME=<path to SDK Folder B>

更改此变量的路径后,错误消失了。

于 2013-08-29T12:34:13.107 回答
8

我遇到了同样的问题,因为我有:

compile 'com.google.android.gms:play-services:5.2.8'

我解决了更改“+”的版本号。所以这些行必须是:

compile 'com.google.android.gms:play-services:+'
于 2014-08-11T21:02:52.867 回答
4

将此添加为第二个参考,因为我遇到了类似的问题。
我必须在 AS 设置中的“存档”类别下明确添加“.aar”作为注册文件类型。

于 2013-06-30T13:10:30.053 回答
3

如果您已经安装了 Google 存储库,请确保它已更新。我不得不更新我的 Google 存储库和服务。这是在我更新 Android Studio 之后。

于 2014-11-04T06:19:54.957 回答
2

我添加了一个新的环境变量 ANDROID_HOME 并将其指向 Android Studio 安装目录中的 SDK (C:\Program Files (x86)\Android\android-studio\sdk)。(环境变量是 Windows 的一部分;您可以通过高级计算机属性访问它们...谷歌它以获取更多信息)

于 2014-03-20T04:31:27.070 回答
1

我也有同样的问题并解决了。

根据其他人的上述解决方案,我尝试了所有方法,但并没有解决我的问题。

即使您有两个 SDK 位置,也无需担心并检查您的 android home 是否设置为 Android studio SDK(如果您有 Android 存储库和该 SDK 位置中的所有内容)。

解决方案:

  • 转到您的项目结构
  • 选择您的模块
  • 单击右侧的依赖项
  • 添加库依赖
  • “com.google.android.gms:play-service:+”

我希望它能解决你的问题。

于 2014-08-11T06:10:05.500 回答
1

我也有同样的问题。

您应该在 build.gradle 中添加一些依赖项,看起来像这样

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':libcocos2dx')
    compile 'com.google.firebase:firebase-ads:11.6.0'
// the key point line
    compile 'com.google.android.gms:play-services-auth:11.6.0'
}
于 2017-12-30T13:56:35.303 回答
0

我错误地在构建脚本块中添加了依赖项中的编译com.google.android.gms:play-services:5.+。您应该将它添加到第二个依赖块中。使用 gradle 进行更改-> 同步项目。

于 2014-09-01T19:44:30.143 回答
0

就个人而言,这篇文章google()通过将 移到存储库的顶部帮助我解决了这个问题。

于 2018-09-25T20:18:19.963 回答