it-swarm.com.de

Android gradle Fehler bei der Lösung: play-services-basement

plötzlich ist gradle nicht in der Lage, den gleichen Code zu erstellen, der vor einigen Momenten funktionierte! Mein Projekt hängt von den Abhängigkeiten von Google Play Service ab

es sagt :

Play-services-basement.aar konnte nicht gefunden werden (com.google.Android.gms: play-services-basement: 15.0.1) . In den folgenden Speicherorten gesucht: https://jcenter.bintray.com/com/google/Android/gms/play-services-basement/15.0.1/play-services-basement-15.0.1.aar

Ich glaube, die AAR-Datei wurde aus Versehen von Google entfernt

Hat jemand eine Idee, was los ist?

44
Ahmed Ali

Fügen Sie das google () - Repository zu Ihrem build.gradle hinzu. Überprüfen Sie, ob google () vor jcenter () steht. 

93
Jivy

Das Problem scheint mit jcenter zu sein. Ich habe mit diesem Problem mehrere Stunden zusammen verbracht, und Ihr Problem scheint mir ähnlich zu sein, und ich denke, die folgende Lösung sollte funktionieren.

Aus irgendeinem Grund und für viele Bibliotheken in jcenter werden die POM-Dateien vieler Bibliotheken beibehalten, entsprechende AAR-Dateien wurden jedoch entfernt. Dies ist auch bei der Bibliothek play-services-basement der Fall. Überprüfen Sie Folgendes als Referenz (pom-Datei von play-services-basement ist unter jcentre hier verfügbar, aber aar-Datei ist nicht unter jcentre hier verfügbar):

Solution: Ändern Sie in Ihrer Gradle-Datei auf Projektebene den folgenden Codeblock 

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

zu

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

warum funktioniert das?

Wenn Gradle in unserem ersten Codeblock versucht, eine Abhängigkeit im Repository aufzulösen (in meinem Fall war es google-services-basement im Jcentre-Repository), wird ddi nicht aufgelöst, da die entsprechenden aar-Dateien entfernt wurden. Als Ergebnis schlägt der Build mit folgenden Elementen fehl:

 Could not find play-services-basement.aar (com.google.Android.gms:play-services-basement:15.0.1).

In unserem zweiten Codeblock wurde vor dem jcenter-Repository auf das Google-Repository verwiesen. Wenn Gradle Build gestartet wird, wird zuerst in den zuerst in den Repositorys {... aufgelisteten Bibliotheken nach aufgelösten Bibliotheken gesucht, die im Projekt verwendet werden. Wenn Gradle nun versucht, play-services-basement in jcenter aufzulösen, ist es erfolgreich, die Abhängigkeit aufzulösen, da die entsprechende aar-Datei von google repository zur Verfügung gestellt wurde (die gleiche aar-Datei der neuesten Version ist nicht in jcenter repository verfügbar) referenziert, bevor das jcenter-Repository bewertet wird. Überprüfen Sie und lassen Sie mich wissen, ob das funktioniert.

18
Abhishek Luthra

IN gearbeitet

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

}
0
iman hoshmand