Impossible de trouver play-services-basement.aar

150

Hier, j'ai essayé de créer mon application et tout a bien fonctionné.

Aujourd'hui, sans aucune modification du projet ... Tout d'un coup, je suis accueilli par ce message d'avertissement me disant:

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

Quelqu'un rencontre-t-il le même genre de problème?

Si vous suivez le lien où il recherche le package, il est essentiellement téléchargé instantanément via le navigateur. Je suppose que quelque chose a changé côté serveur? Peut-être des conventions de dénomination?

On dirait qu'il cherche: play-services-basement.aar et récupère play-services-basement-11.0.1.aar à la place? Cela pourrait-il être une convention de dénomination ou un problème de classement?

SimbaClaws
la source
Double
Henry

Réponses:

358

jcenter () a eu des miroirs de certaines bibliothèques (je suppose qu'ils le font intentionnellement) qui devraient à l'origine être disponibles via les référentiels google () ou maven (). Lorsque la compilation gradle fonctionne, pour toute bibliothèque utilisée dans le projet, le premier endroit à rechercher est le référentiel qui est répertorié en premier dans repositories {..Lorsque le miroir jcenter () n'a pas la version (par exemple, com.google.android.gms: play -services-ads: 15.0.1 pour mon cas) votre gradle recherche, la construction échoue avec une telle erreur.

Ainsi, jcenter () doit être répertorié à la dernière place dans les repositories {..parties ci-dessous.

   buildscript {
    ext.kotlin_version = '1.2.50'
    repositories {
        google()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
    }...

et

  allprojects {
    repositories {
        google()
        jcenter()
    }
  }
Fio
la source
4
Cela a résolu mes problèmes avec les fichiers "n'a pas pu trouver ... aar" après la mise à jour vers "com.google.gms: google-services: 4.0.1". Chaque fois que j'essaye de mettre à jour ceci ou la version de Play Services, il me semble que je rencontre ce type de problème obscur et frustrant. Merci d'avoir mis fin à une chasse de 3 heures pour résoudre ce problème!
Kyle
11
dire que jcenter est la dernière place dans le fichier de berceau, c'est sauver ma vie :)
salih
3
ce problème est soudainement arrivé pour moi, merci beaucoup l'aide de votre solution juste avec le changement de l'ordre de jcenter () au dernier.
abadooz
1
vient de rencontrer ce problème.
Hades
2
Merci. Le projet fonctionnait bien et j'ai soudainement rencontré le même problème. Mettre jcenter () au dernier a résolu le problème.
Lazy Ninja
14

C'est fou!!! J'ai fait face au même problème. Les builds fonctionnaient bien et ont soudainement commencé à échouer avec le même problème. J'ai essayé les suggestions ci-dessus mais cela n'a pas fonctionné pour moi. Enfin, voici ce qui a fonctionné pour moi:

Mise à jour vers les dernières dépendances Firebase:

implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-ads:17.0.0'

également, les services d'annonces:

mise en œuvre "com.google.android.gms: play-services-ads: 17.0.0"

Remarque: avec play-services-ads: 17.0.0, il est obligatoire d'ajouter ce qui suit dans le fichier Manifest, sinon l'application plante à l'ouverture.

<application>
    <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="[ADMOB_APP_ID]"/>
</application>
user846316
la source
Cela a fonctionné pour moi. J'ai mis en évidence toutes les dépendances de gradle me posant des problèmes et une version plus récente était disponible. Je les ai changés pour la dernière version et cela a fonctionné.
Chris Deck
J'ai dû mettre à jour toutes les dépendances de firebase pour réussir sa construction.
Jason
1
Cela semble être la bonne réponse «actuelle». La réponse acceptée de réorganiser les choses ne semble tout simplement pas avoir d'importance dans de nombreux cas.
Josh
6

UPDATE # 2 2018/05/29

Le problème semble être résolu maintenant, et j'utilise toujours les mêmes configurations de gradle. Mais j'ai fait ces étapes il y a quelque temps, je ne sais pas si elles ont fait quelque chose ou s'il s'agit d'un problème côté serveur et qu'il a été corrigé / mis à jour récemment. Je viens de remarquer que le problème a disparu après avoir suivi les étapes suivantes:

  1. Ajoutez ce qui suit dans gradle.build au niveau du projet buildscript > repositorieset allprojects > repositories.

    • google()
    • maven { url 'http://jcenter.bintray.com' }
  2. Remplacez le chemin de classe google-services par
    classpath com.google.gms:google-services:4.0.1'

  3. Synchroniser le projet avec les fichiers Gradle



MISE À JOUR # 1 2018/05/29

J'ai contourné l'erreur en rétrogradant mes dépendances Firebase à ~ 12.0.0 dans le gradle au niveau de l' application. Mais cela affectera gravement l'application, toujours à la recherche de solutions de contournement plus réalisables.



    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'
    ...
    compile 'com.google.firebase:firebase-core:12.0.0'
    compile 'com.google.firebase:firebase-database:12.0.0'
    compile 'com.google.firebase:firebase-storage:12.0.0'
    compile 'com.google.firebase:firebase-auth:12.0.0'
    compile 'com.google.firebase:firebase-crash:12.0.0'
    ...




Idem ici, j'ai rencontré le même problème décrit par @SimbaClaws. Tout se compilait bien jusqu'à ce que je fasse face au même problème hier.

J'ai les codes suivants dans mon build.gradle au niveau du projet,



    // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {
        repositories {
            jcenter()
            maven {
                url 'https://maven.fabric.io/public'
            }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
            //classpath 'com.google.gms:google-services:3.0.0'
            classpath 'com.google.gms:google-services:3.2.1'
            classpath 'io.fabric.tools:gradle:1.25.1'
        }
    }

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

    task clean(type: Delete) {
        delete rootProject.buildDir
    }


Et les codes suivants pour le build.gradle au niveau de l' application



    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'

    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.1"
        defaultConfig {
            applicationId "my.secret.application"
            minSdkVersion 16 // 19
            targetSdkVersion 26
            versionCode 1
            versionName "5.0.204"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })

        compile 'com.google.firebase:firebase-core:15.0.2'
        compile 'com.google.firebase:firebase-database:15.0.0'
        compile 'com.google.firebase:firebase-storage:15.0.2'
        compile 'com.google.firebase:firebase-auth:15.1.0'
        compile 'com.google.firebase:firebase-crash:15.0.2'
        compile 'com.android.support:appcompat-v7:26.+'
        compile 'com.android.support:design:26.+'
        compile 'com.android.support:recyclerview-v7:26.+'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        compile 'de.hdodenhof:circleimageview:2.2.0'
        compile 'com.android.support:palette-v7:26.+'
        compile 'com.android.support:support-v4:26.+'
        compile 'com.android.support:cardview-v7:26.+'
        compile 'com.github.bumptech.glide:glide:3.7.0'
        compile 'org.greenrobot:eventbus:3.1.1'
        testCompile 'junit:junit:4.12'
        compile 'com.crashlytics.sdk.android:crashlytics:2.9.1'
    }


    apply plugin: 'com.google.gms.google-services'


Quelqu'un peut-il me dire si j'ai manqué quelque chose? Je suis également toujours à la recherche de solutions de contournement et de réponses possibles. TIA!

raiser00
la source
2

J'ai eu le même problème, pour moi aucune des réponses mentionnées ici n'a fonctionné. Je viens donc de mettre à jour les dépendances dans le fichier gradle et quelle que soit la dépendance qui avait com.google.gms: (les a conservées dans la même version, exemple 16.0.0)

Swapnil
la source
1

J'ai également rencontré ce problème. La cause principale, j'ai découvert était qu'il y avait une version de Gradle incohérente. Dans le référentiel Gradle Scripts "si je peux l'appeler ainsi", il y a deux modules build gradle. Le build.gradle (Projet: nom de l'application ) et le build.gradle (Module: app). Assurez-vous que le chemin de classe 'com.android.tools.build:gradle:3.2.1' dans les dépendances utilise la dernière et même version de l'outil. Les incohérences entraînent des problèmes avec la construction.

George
la source
0

Dans mon cas, l' wwwURL précédente juste ajoutée était comme url "https://jitpack.io/"après que cet ajout ait wwwcommencé à fonctionner pour moi. Dans d'autres référentiels, essayez également d'ajouter des URL explicites.

maven {
            url "https://www.jitpack.io/"
        }
aNiKeT
la source