Gradle 构建工具找不到播放服务-tasks.aar?为什么?

Gradle build tool cannot find play-services-tasks.aar? Why?

今天突然,我在 Android studio 中尝试 运行 我的应用程序时出现错误。

是:

Error: Could not find play-services-tasks.aar (com.google.android.gms:play-services-tasks:15.0.1).
Searched in the following locations:
    https://jcenter.bintray.com/com/google/android/gms/play-services-tasks/15.0.1/play-services-tasks-15.0.1.aar

我没有在gradle 文件中更改任何内容,但它突然出现了。我之前的构建在几分钟前成功执行。

为什么它找不到 play-services-tasks.aar com.google.android.gms 的一部分:play-services-tasks:15.0.1

采取的步数:

我检查了我是否在 gradle 文件中包含了所有存储库,到目前为止都是正确的。

为什么突然出现这个错误?

我也将此 link https://jcenter.bintray.com/com/google/android/gms/play-services-tasks/15.0.1/play-services-tasks-15.0.1.aar 复制到浏览器中,但它工作正常,也就是说,我得到了 "File Download" 对话框。


我的 Gradle 文件

我今天遇到了同样的问题。到现在为止一切正常。可能是暂时的 Google 服务器问题。

对我有用的解决方案是使用旧版本的 google-play-services:

implementation 'com.google.android.gms:play-services-maps:11.4.2'

难道是google改变了服务端包的命名约定?

我刚才在使用不同的播放服务包时遇到了同样的问题。

即play-services-basement.aar...

我认为

Could not find play-services-tasks.aar

表示它正在寻找名为 play-services-tasks.aar

的文件

在服务器上这个文件被调用:

play-services-tasks-15.0.1.aar

我认为这是文件未正确命名的 gradle 问题或文件未正确命名的服务器端问题。

如有错误请指正

编辑:这个问题应该报告给 jcenter.bintray.com 因为他们是他们服务器端的错误。切换到 Ivan Rigamonti 提到的 Maven 存储库可能是一个解决方案,但我不确定离子应用程序如何处理切换存储库。

EDIT2:切换到 maven 存储库确实适用于 ionic。对于 ionic,我所要做的就是通过将 jcenter() 放在 buildscript 存储库和 allprojects 存储库中的 maven() 下面来改变 build.gradle。

进行以下更改后,错误消失了:

  1. 已从应用 build.gradle 的存储库中删除 maven { url 'https://maven.google.com' }
  2. allprojects/repositories 中将 maven { url 'https://maven.google.com' } 添加为 第一个条目 build.gradle
  3. 将所有播放服务和 firebase 依赖项更改为最新版本
  4. 已将 google-services 插件的版本更改为 classpath 'com.google.gms:google-services:4.0.1'

对于我的情况,我从 app gradle 存储库中删除了 mavenCentral(),并将 maven { url 'https://maven.google.com' } 移动到 中的第一个位置项目 gradle 正如 Ivan Rigamonti 上面建议的那样。无需更新 Firebase 依赖项。

(这应该是评论,但我没有足够的声誉)

解决方法是将 google url 放在 gradle 的存储库列表中的 jcenter() 上方。

这是问题所在:https://issuetracker.google.com/issues/80362794

如果你们遇到类似 build.gradle 的错误,无法解决:常见 像这样 build.gradle error , Failed to resolve: common

然后在 allprojects scope in repositories scope in Project build.gradle

的下面一行

行:

 maven { url 'https://maven.google.com' }
        jcenter()
        google()

例子

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

就我而言:

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

解决了我的问题

  • 在我的旧配置中只有 "jcenter()"
  • 第一行jcenter(),第二行google()不起作用

改变

compile 'com.google.android.gms:play-services-safetynet:15.0.1'
compile 'com.google.android.gms:play-services-maps:15.0.1'
compile 'com.google.android.gms:play-services-places:15.0.1'
compile 'com.google.android.gms:play-services-location:15.0.1'

compile 'com.google.android.gms:play-services-safetynet:16.0.0'
compile 'com.google.android.gms:play-services-maps:16.0.0'
compile 'com.google.android.gms:play-services-places:16.0.0'
compile 'com.google.android.gms:play-services-location:16.0.0'

是我的情况,有效!