Gradle构建工具找不到play-services-tasks.aar?为什么?

时间:2018-05-28 08:34:07

标签: android maven gradle android-gradle google-play-services

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

是:

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_build_error

我没有改变gradle文件中的任何内容,但突然出现了。我的上一个版本在几分钟前成功执行。

为什么它找不到 com.google.android.gms:play-services-tasks:15.0.1

的一部分play-services-tasks.aar

采取的步骤:

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

为什么这个错误会突然发生?

我还将此链接https://jcenter.bintray.com/com/google/android/gms/play-services-tasks/15.0.1/play-services-tasks-15.0.1.aar复制到浏览器中,但它工作正常,也就是说,我得到了#34;文件下载"对话框。

我的Gradle文件

  • 应用级别

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.2"
        defaultConfig {
            applicationId "mekanic24assistantapplication.heba.mekanic24.com.mekanic24assistantapplication"
            minSdkVersion 14
            targetSdkVersion 26
            versionCode 13
            versionName "2.1"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
    
        dexOptions {
            incremental true
            javaMaxHeapSize "4g"
        }
    
    //    err Android Gradle Duplicate files copied in APK META-INF/license.txt
    
        configurations.all {
    
            resolutionStrategy {
                force 'com.android.support:support-v4:26+'
                force 'com.android.support:support-annotations:26+'
    
    
            }
    
        }
    
    
        packagingOptions {
            exclude 'META-INF/DEPENDENCIES.txt'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/notice.txt'
            exclude 'META-INF/license.txt'
            exclude 'META-INF/dependencies.txt'
            exclude 'META-INF/LGPL2.1'
        }
    
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        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:26.3.1'
        compile 'com.android.support:appcompat-v7:26+'
        compile 'com.android.support:design:26+'
        compile 'com.android.support:recyclerview-v7:26+'
        compile 'com.android.support:cardview-v7:26+'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        androidTestCompile 'com.android.support:support-annotations:26+'
        testCompile 'junit:junit:4.12'
        //   compile 'com.android.support:appcompat-v7:26.3.1'
        compile 'com.github.markushi:circlebutton:1.1'
        //  compile 'com.android.support:design:26.3.1'
        compile 'com.android.volley:volley:1.0.0'
        compile 'com.google.android.gms:play-services-base:15.0.1'
        compile 'com.android.support:multidex:1.0.1'
        compile 'com.firebase:firebase-client-android:2.5.2'
        compile 'com.google.firebase:firebase-core:15.0.2'
        compile 'com.google.firebase:firebase-messaging:15.0.2'
        compile 'com.google.firebase:firebase-database:15.0.0'
        compile 'com.wang.avi:library:2.1.3'
        compile 'de.hdodenhof:circleimageview:2.2.0'
        compile 'android.lib.recaptcha:reCAPTCHA:2.0.0'
        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.squareup.picasso:picasso:2.5.2'
        testCompile 'junit:junit:4.12'
        compile 'com.anjlab.android.iab.v3:library:1.0.38'
        compile files('libs/mail.jar')
        compile files('libs/additionnal.jar')
        compile files('libs/activation.jar')
        compile 'com.jakewharton:butterknife:8.8.1'
        annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
        compile 'com.yarolegovich:lovely-dialog:1.1.0'
        compile 'com.mobsandgeeks:android-saripaar:2.0.3'
        compile 'com.github.stfalcon:smsverifycatcher:0.3.1'
        compile 'ch.acra:acra:4.9.0'
        //TODO:  Apache 2.0 license https://github.com/ACRA/acra
        compile 'com.google.android.gms:play-services-ads:15.0.1'
        compile 'com.github.luongvo:GmailBackground:2.0.2'
    
    }
    apply plugin: 'com.google.gms.google-services'
    
  • 项目级别

    buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
        maven {
            url "https://dl.bintray.com/android/android-tools"
        }
    
        maven { url "https://jitpack.io" }
        google()
    
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
    
        classpath 'com.google.gms:google-services:3.2.0'
    }
    }
    
    allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
        maven {
            url "https://dl.bintray.com/android/android-tools"
        }
    
        maven { url "https://jitpack.io" }
        google()
    
    }
    }
    
    task clean(type: Delete) {
    delete rootProject.buildDir
    }
    

8 个答案:

答案 0 :(得分:41)

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

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

答案 1 :(得分:27)

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

问题在于:https://issuetracker.google.com/issues/80362794

答案 2 :(得分:7)

就我而言:

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

解决我的问题

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

答案 3 :(得分:1)

我今天也遇到了同样的问题。到目前为止工作正常。也许这是一个临时的Google服务器问题。

适用于我的解决方案是使用较旧版本的google-play-services:

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

答案 4 :(得分:1)

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

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

答案 5 :(得分:1)

更改

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'

是我的情况,它有效!

答案 6 :(得分:0)

谷歌是否更改了服务器端软件包的命名约定?

我正在遇到与现在不同的播放服务包同样的问题。

即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存储库确实适用于离子。我必须为离子做的就是通过在构建库和所有项目存储库中的maven()下面放置jcenter()来改变build.gradle。

答案 7 :(得分:0)

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

然后在项目build.gradle

中的存储库范围内的 allprojects 范围中添加以下行

行:

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

例如

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