21

Ich versuche, den PlacePicker der Google Places API in meiner Android App zu verwenden. Jedes Mal, wenn ich versuche, den Picker zu erstellen, erhalte ich folgende Fehlermeldung:Android Places API: Veraltete Google Play-Dienste für Emulator

Google Play services out of date. Requires 7095000 but found 6774470 

Leider bin ich gebunden an Tests auf dem Emulator, weil ich nicht ein physisches Gerät besitzen. Das Image des Emulators ist API-Level 22 x86 mit Google APIs Ziel. Darüber hinaus habe ich versucht, die Google Play Services-Bibliothek durch die build.gradle Datei aufzunehmen:

'com.google.android.gms:play-services:7.+' 

Auch habe ich aktualisiert Google Play-Dienste in dem SDK-Manager. Was mache ich falsch? Wie kann ich meine Google Play-Dienste aktualisieren, damit ich die Google Places-API verwenden kann?

+0

Überprüfen Sie die Lösung dieser Frage: http://stackoverflow.com/questions/25809435/google-play-services-out-of-date-requires-5089000-but-found-3136130 –

+0

Ich überprüfte die Lösung dieser Frage, aber ich benutze bereits das neueste Emulator-Image, also glaube ich nicht, dass es hilft. – user1594328

+0

könnte hier sein, das Sie Ihre Lösung [1] finden: http://stackoverflow.com/questions/29429727/android-google-play-services-not-working-on-the-emulator/29430240#29430240 – Abhishek

Antwort

14

ich hatte das gleiche Problem, und hatte mit Google Apps API 21 Emulator Bild nach unten zu bewegen. Dieser ist aktueller und funktioniert.

+0

Also ist es ein Emulatorproblem? Dies würde nicht auf einem echten Gerät passieren? –

+0

@Igor Ganapolsky Es kann vorkommen, dass ein Nutzer seine Google Play-Dienste nicht aktualisiert, es liegt jedoch am Benutzer, das Problem zu lösen. – bompf

3

Ich habe ein ähnliches Problem, wenn ich Google-Play-Dienste auf Android-Verschleiß verwende, dann löse ich es durch aktualisierte Android Wear App-Version. (Da neuere Android Wear-Version neuere Google-Play-Dienste beinhalten)

Dieses Problem ist durch die Version der Google-Play-Dienste auf Ihrem Gerät zu alt, Sie sollten Ihre Version von Google-Play-Diensten auf Ihrem aktualisieren Gerät.

Für den Emulator, müssen Sie Google-Play-Dienste auf Ihrem Emulator aktualisieren, anstatt Ihr SDK zu aktualisieren.

+1

Wie aktualisieren Sie es auf Ihrem Emulator? Ich kann Play Store im Emulator nicht finden. – Davita

+2

Möglicherweise müssen Sie eine neuere Version des AVD-Ziels (Android Virtual Device) verwenden. – Morshues

-1

Aktualisieren Sie Ihre Pakete in Tools> Android> SDK-Manager und überprüfen Sie alle Pakete in Extras, das ein Update zur Verfügung haben.

Nachdem Sie dies die folgende Abhängigkeit in Ihrem (app) verwendet getan haben build.gradle

compile 'com.google.android.gms:play-services:7.3.0' 
+1

Das steuert nicht die Play-Service-Version, die auf dem Emulator installiert wird. –

+0

@IgorGanapolsky Was macht es dann? – fuzz

+0

@gotnull Wenn der Emulator nicht über die neueste Version von Play Services verfügt, können Sie nichts tun. –

2

hatte ich das gleiche Problem und jetzt ich „aktualisiert“, um die Version zu 6.774.480 die Caches ungültig zu machen und neu zu starten, dann i „heruntergestuft“ die dependecies compile 'com.google.android.gms:play-services:6+' und es funktioniert, ich weiß, dass keine wirkliche Lösung ist, sondern ein schlechte Möglichkeit, damit es funktioniert, kann ich meine App testen

0

Ich hatte nur dieses Problem mit dem API 22 Emulator. 21 und 23 waren in Ordnung und ich hatte keine Probleme mit physischen Geräten.

Ich war neugierig zu wissen, ob diese niedrige Version für GCM kritisch war, so dass der Code trotzdem fortfahren geändert:

if (checkPlayServices()) { 
       // Start IntentService to register this application with GCM. 
       Intent intent = new Intent(this, ImpatientRegistrationIntentService.class); 
       startService(intent); 
} else {<<-- Added this as a bypass as my emulator complained about versions 
       Intent intent = new Intent(this, ImpatientRegistrationIntentService.class); 
       startService(intent); 
} 

Interessanterweise ist die API 22 Emulator hat einen Token von GCM und empfangenen Downstream-Push Nachrichten ohne Probleme.

2

Wie andere sagten, der Grund ist wahrscheinlich, dass Google Play installiert in der AVD nicht Abhängigkeit Anforderung entspricht. Neben den von anderen vorgeschlagenen Lösungen habe ich versucht, meine erforderliche Google Play-Version von 8.3 auf 8.1 zu reduzieren, und das Problem ist gelöst.

5

Wenn der SDK-Manager anzeigt, dass Sie bereits die neueste Version installiert haben, können Sie Ihre Emulatordefinition einfach duplizieren.

Der duplizierte Emulator wird mit der neuesten Version des SDK geladen.

enter image description here

+0

Arbeitete perfekt, danke! – realtebo

0

Dies ist eine Abhilfe, die ich mit aufkommen, da keine der Lösungen für mich hier gearbeitet. Außerdem wollte ich meinen Code nicht aktualisieren, um eine ältere Version von Play Services zu verwenden. Ich habe den Emulator mit google play statt google apis installiert und dann, als die Eingabeaufforderung kam, klickte ich einfach auf update. Dies würde Sie zum Google Play Store führen und Sie müssen lediglich die Play Services von dort aktualisieren. Einziger Vorbehalt hier ist, dass diese Methode erfordert, dass Sie sich mit einem Google-Konto im Emulator anmelden. Aber für meine Anwendungsfälle war es ausreichend. Google play instead of google api

+0

Aus welchem ​​Bildschirm stammt dieser Screenshot? – Jake

+0

Dies ist der Android Studio SDK-Manager Screenshot @Jake – Atul

Verwandte Themen