Инструмент сборки Gradle не может найти play-services-tasks.aar? Зачем?

Сегодня неожиданно я получил сообщение об ошибке, когда попытался запустить приложение в студии 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

Я ничего не изменил в файле градиента, но внезапно появился. Моя предыдущая сборка выполнена несколько минут назад.

Почему он не может найти play-services-tasks.aar который является частью com.google.android.gms: play-services-tasks: 15.0.1

Сделанные шаги:

Я проверил, включил ли я все репозитории в файлах градиента, и все они верны до сих пор.

Почему эта ошибка возникает внезапно?

Я также скопировал эту ссылку https://jcenter.bintray.com/com/google/android/gms/play-services-tasks/15.0.1/play-services-tasks-15.0.1.aar в браузер, но она работает отлично, то есть я получил диалоговое окно "Загрузка файла".


Мои файлы 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
    }
    

Ответы

Ответ 1

После выполнения следующих изменений ошибка исчезла:

  1. Удалено maven { url 'https://maven.google.com' } из репозиториев в приложении build.gradle.
  2. Добавлен maven { url 'https://maven.google.com' } качестве первой записи во всех проектах/репозиториях на верхнем уровне build.gradle
  3. Изменены все зависимости от игровых сервисов и Firebase до последних версий
  4. Изменена версия плагина google-services для classpath 'com.google.gms:google-services:4.0.1'

Ответ 2

Исправление состоит в том, чтобы поместить URL-адрес google выше jcenter() в список репозитория в градиенте.

Здесь проблема: https://issuetracker.google.com/issues/80362794

Ответ 3

в моем случае:

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

решает мои проблемы

  • в моей старой конфигурации был только "jcenter()"
  • первая строка jcenter(), вторая строка google() не работает

Ответ 4

Сегодня у меня такая же проблема. До сих пор он работал нормально. Возможно, это временные проблемы с серверами Google.

Решение, которое работает для меня, - это использование более старой версии сервисов google-play:

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

Ответ 5

Для моего случая я удалил mavenCentral() из репозиториев приложений и переместил maven { url 'https://maven.google.com' } в первую позицию в градиенте проекта, как предложил Ивана Ригамонти выше. Нет необходимости в обновлении зависимостей Firebase.

(это должен быть комментарий, но у меня недостаточно репутации)

Ответ 6

Может быть, Google изменил соглашения об именах пакетов на стороне сервера?

Сейчас я испытываю такую же проблему с другим пакетом игровых сервисов.

А именно play-services-basement.aar...

Я думаю, что

Could not find play-services-tasks.aar

Означает, что он ищет файл, названный play-services-tasks.aar

Пока на сервере этот файл вызывается:

play-services-tasks-15.0.1.aar

Я думаю, что это либо проблема с градиентом, когда файлы неправильно названы, либо проблема на стороне сервера, где файлы не указаны правильно.

Пожалуйста, поправьте меня, если я ошибаюсь здесь.

EDIT: эта проблема должна быть отправлена на jcenter.bintray.com, так как они являются виновными здесь на стороне сервера. Переключение в хранилище Maven, упомянутое Иваном Ригамонти, может быть решением, но я не уверен, как ионные приложения имеют дело с коммутационными репозиториями.

EDIT2: Переключение в хранилище maven действительно работает для ионных. Все, что мне нужно было сделать для ионного, - это изменить build.gradle, поставив jcenter() под maven() внутри репозиториев buildscript и репозиториев allprojects.

Ответ 7

если вы, ребята, получаете ошибку, как ошибка build.gradle, не удалось разрешить: общий, как эта ошибка build.gradle, не удалось разрешить: common

затем введите ниже строку в области allprojects в области репозиториев в Project build.gradle

линия:

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

пример

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