2012-12-09 22 views
18

Recentemente ho iniziato a sviluppare per Android, e ho avuto problemi quando ho provato a utilizzare Google Maps nella mia app. Ho scaricato l'API di Google Maps API v2 per Android e ho già eseguito tutti i passaggi richiesti in base al sito Google Developers.Mancano i servizi di Google Play da AVD

Il mio problema è che sebbene l'app sia in esecuzione, nel luogo in cui devono essere visualizzate le mappe, c'è un messaggio che dice che nel mio dispositivo mancano i servizi di Google Play.

Ho già scaricato i Google Play Services dall'SDK, ho importato la libreria nel mio progetto e ho anche importato il file .JAR.

Sto usando Netbeans, non Eclipse, quindi molte soluzioni che ho trovato sul Web non mi sono utili. Spero che tu possa aiutarmi con questo.

+4

Deve esserci un migliaio di domande sull'utilizzo di Google Maps su AVD e un problema che vedo molto e ho avuto io stesso è che il tuo obiettivo deve essere impostato su "Google API (Google Inc.)" non qualcosa come " Android 2.2 ". Assicurati di averlo fatto prima di preoccuparti di qualsiasi altra cosa. – ninge

risposta

13

Sfortunatamente, non è possibile utilizzare l'emulatore per eseguire app che utilizzano i servizi di Google Play. Da http://developer.android.com/google/play-services/setup.html: "I servizi di Google Play non sono supportati dall'emulatore Android - per sviluppare utilizzando le API, è necessario fornire un dispositivo di sviluppo come un telefono o tablet Android."

+1

Quindi i controlli di posizione nell'emulatore sono inutili! : j –

0

Sì, è possibile utilizzare le mappe di Google sull'emulatore. Tuttavia, non è ufficialmente supportato, quindi richiede un po 'di lavoro. Ho avuto il miglior successo seguendo le informazioni su questo link.

12

Dal sito di Google http://developer.android.com/google/play-services/setup.html

Se si desidera testare la vostra applicazione sull'emulatore , espandi la directory per Android 4.2.2 (API 17) o una versione successiva, seleziona le API di Google e installarlo. Quindi crea un nuovo AVD con le API di Google come target della piattaforma . Nota: solo le versioni Android 4.2.2 e successive della piattaforma Google includono i servizi Google Play.

4

Ho avuto questo stesso problema e trovato solution:

Ecco i gms e vending file aggiornati. Stesse istruzioni come prima: Creazione di un nuovo emulatore con qualsiasi CPU/ABI, un obiettivo non google-API (versioni 10-17 di lavoro) e l'emulazione GPU o disattivare, e quindi installare il file:

adb install com.android.vending-20130716.apk 
adb install com.google.android.gms-20130716.apk 

Se sono l'aggiornamento di un emulatore esistente, allora potrebbe essere necessario disinstallare le versioni precedenti da:

adb uninstall com.android.vending 
adb uninstall com.google.android.gms 
1

Bellow link contiene una soluzione che funziona con Android 4.2.2 o superiore

How to install Google Play Services in Android Emulator

1.1 Avviare l'emulatore. Disconnettere qualsiasi altro dispositivo Android (come lo smartphone) dal computer. 1.2 Scarica questi due file

com.android.vending-19032013.apk: http://www.mediafire.com/download.php?7jfar2v1bzx6v59 com.google.android.gms-19032013.apk: http://www.mediafire.com/download.php?4o9fz413uavlblf

1.3 console di comando Apri, andare a \ platform-tools

installare due file di cui sopra con il comando

adb install \ com.android.vending-19032013.apk adb install \ com.google.android.gms-19032013.apk

0

Se qualcuno continua a riscontrare questo problema, provare innanzitutto a creare il proprio emulatore con le API di Google come target della piattaforma. Dopo averlo fatto, ho notato che i miei servizi Google Play non erano la versione corretta dell'emulatore.

Durante il tentativo di hackerare una soluzione, sono incappato nella classe GoogleApiAvailabilityhere. Google ha svolto un lavoro fenomenale nella gestione dei problemi di compatibilità.

GoogleApiAvailability.isGooglePlayServicesAvailable(Context) restituisce un codice di stato intero, che può essere alimentato direttamente in getErrorDialog(Activity, errorCode, requestCode) che restituisce un Dialog che funziona perfettamente sin dalla scatola. Se i tuoi servizi di riproduzione non sono aggiornati, la finestra di dialogo ti reindirizzerà a un programma di aggiornamento ... Se mancano, ti reindirizzeranno a un programma di installazione, ecc ...

Pensavo che avrei condiviso questa grande funzionalità in caso chiunque è alla ricerca di una correzione che possa funzionare sia nel codice di produzione che nel test.

Problemi correlati