Инструмент сборки 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
Я ничего не изменил в файле градиента, но внезапно появился. Моя предыдущая сборка выполнена несколько минут назад.
Почему он не может найти 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
После выполнения следующих изменений ошибка исчезла:
- Удалено
maven { url 'https://maven.google.com' }
из репозиториев в приложении build.gradle. - Добавлен
maven { url 'https://maven.google.com' }
качестве первой записи во всех проектах/репозиториях на верхнем уровне build.gradle - Изменены все зависимости от игровых сервисов и Firebase до последних версий
- Изменена версия плагина 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()
}