Spiel-Services-Keller konnte nicht gefunden werden

150

Gestern habe ich versucht, meine App zu erstellen, und alles hat gut funktioniert.

Heute, ohne Änderungen am Projekt ... Plötzlich werde ich mit dieser Warnmeldung begrüßt, die mir sagt:

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

Hat jemand das gleiche Problem?

Wenn Sie dem Link folgen, über den nach dem Paket gesucht wird, wird es im Grunde sofort über den Browser heruntergeladen. Ich nehme an, etwas hat sich auf der Serverseite geändert? Vielleicht Namenskonventionen?

Es sieht so aus, als würde es suchen nach: play-services-Keller.aar und holt stattdessen play-services-Keller-11.0.1.aar? Könnte dies eine Namenskonvention oder ein Gradle-Problem sein?

SimbaClaws
quelle

Antworten:

358

jcenter () hatte Spiegel einiger Bibliotheken (ich denke, sie tun dies absichtlich), die ursprünglich über die Repositorys google () oder maven () verfügbar sein sollten. Wenn gradle build funktioniert, ist für jede Bibliothek, die im Projekt verwendet wird, der erste Ort, nach repositories {..dem gesucht werden muss, das Repository, das zuerst aufgeführt wird, wenn der Spiegel von jcenter () nicht über die Version verfügt (z. B. com.google.android.gms: play) -services-ads: 15.0.1 für meinen Fall) Ihr gradle sucht, der Build schlägt mit einem solchen Fehler fehl.

Daher sollte jcenter () an der letzten Stelle in repositories {..Teilen wie unten aufgeführt sein.

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

und

  allprojects {
    repositories {
        google()
        jcenter()
    }
  }
Fio
quelle
4
Dies löste meine Probleme mit den Dateien "konnte nicht finden ... aar" nach dem Update auf "com.google.gms: google-services: 4.0.1". Jedes Mal, wenn ich versuche, diese oder die Play Services-Version zu aktualisieren, stoße ich auf diese Art von obskurem und frustrierendem Problem. Vielen Dank, dass Sie eine dreistündige Jagd beendet haben, um dieses Problem zu beheben!
Kyle
11
zu sagen, dass jcenter der letzte Platz in der Cradle-Datei ist, rettet mein Leben :)
salih
3
Dieses Problem ereignete sich plötzlich für mich. Vielen Dank, Ihre Lösung hilft nur bei der Änderung der Reihenfolge von jcenter () auf die letzte.
Abadooz
1
bin gerade auf dieses Problem gestoßen.
Hades
2
Vielen Dank. Das Projekt funktionierte gut und plötzlich stieß ich auf das gleiche Problem. Das letzte Problem wurde behoben, indem jcenter () auf das letzte gesetzt wurde.
Lazy Ninja
14

Das ist verrückt!!! Ich stand vor dem gleichen Problem. Die Builds funktionierten einwandfrei und scheiterten plötzlich mit demselben Problem. Ich habe die obigen Vorschläge ausprobiert, aber es hat bei mir nicht funktioniert. Schließlich hat das für mich funktioniert:

Update auf die neuesten Firebase-Abhängigkeiten:

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

auch die Werbedienste:

Implementierung 'com.google.android.gms: play-services-ads: 17.0.0'

Hinweis: Bei Play-Services-Anzeigen: 17.0.0 muss Folgendes in die Manifest-Datei eingefügt werden, da sonst die Anwendung beim Öffnen abstürzt.

<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
quelle
Das hat bei mir funktioniert. Ich habe alle Gradle-Abhängigkeiten hervorgehoben, die mir Probleme bereiteten, und es war eine neuere Version verfügbar. Sie wurden auf die neueste Version geändert und es hat funktioniert.
Chris Deck
Ich musste alle Firebase-Abhängigkeiten aktualisieren, damit es erfolgreich erstellt werden konnte.
Jason
1
Dies scheint die "aktuelle" richtige Antwort zu sein. Die akzeptierte Antwort, Dinge neu zu ordnen, scheint in vielen Fällen einfach keine Rolle zu spielen.
Josh
6

UPDATE # 2 2018/05/29

Das Problem scheint jetzt behoben zu sein , und ich verwende immer noch die gleichen Gradle-Konfigurationen. Aber ich habe diese Schritte vor einiger Zeit ausgeführt. Ich bin mir nicht sicher, ob diese etwas bewirkt haben oder ob dies ein serverseitiges Problem ist und es kürzlich behoben wurde. Ich habe gerade bemerkt, dass das Problem behoben ist, nachdem ich die folgenden Schritte ausgeführt habe:

  1. Fügen Sie Folgendes in gradle.build's buildscript > repositoriesund auf Projektebene hinzu allprojects > repositories.

    • google()
    • maven { url 'http://jcenter.bintray.com' }
  2. Ändern Sie den Google-Services-Klassenpfad in
    classpath com.google.gms:google-services:4.0.1'

  3. Projekt mit Gradle-Dateien synchronisieren



UPDATE # 1 2018/05/29

Ich habe den Fehler umgangen, indem ich meine Firebase-Abhängigkeiten im Gradle auf App-Ebene auf ~ 12.0.0 herabgestuft habe . Dies hat jedoch erhebliche Auswirkungen auf die App, da immer noch nach praktikableren Problemumgehungen gesucht wird.



    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'
    ...




Gleich hier habe ich das gleiche Problem erlebt, das von @SimbaClaws beschrieben wurde. Alles lief reibungslos, bis ich gestern vor dem gleichen Problem stand.

Ich habe die folgenden Codes in meinem build.gradle auf Projektebene:



    // 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
    }


Und die folgenden Codes für das build.gradle auf App-Ebene



    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'


Kann mir jemand raten, wenn ich etwas verpasst habe? Ich suche auch immer noch nach möglichen Problemumgehungen und Antworten. TIA!

raiser00
quelle
2

Hatte das gleiche Problem, für mich hat keine der hier genannten Antworten funktioniert. Also habe ich gerade die Abhängigkeiten in der Gradle-Datei aktualisiert und welche Abhängigkeit auch immer com.google.gms hatte: (hielt sie auf dem gleichen Versionsbeispiel 16.0.0)

Swapnil
quelle
1

Ich habe dieses Problem auch erlebt. Die Hauptursache war, dass es eine inkonsistente Build-Gradle-Version gab. Im Gradle Scripts-Repository "wenn ich es so nennen kann" gibt es zwei Build-Gradle-Module. Das build.gradle (Projekt: Name der App ) und das build.gradle (Modul: App). Stellen Sie sicher, dass der Klassenpfad 'com.android.tools.build:gradle:3.2.1' in Abhängigkeiten die neueste und gleiche Version des Tools verwendet. Inkonsistenzen führen zu Problemen mit dem Build.

George
quelle
0

In meinem Fall war die gerade hinzugefügte wwwURL so, als ob url "https://jitpack.io/"diese hinzugefügt worden wäre www, um für mich zu arbeiten. Versuchen Sie in anderen Repositorys auch, explizite URLs hinzuzufügen.

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