aggiornamento dei servizi di Google Play in Emulator


137

Ho affrontato molte domande come questa su Google Play, sto utilizzando Android 4.2.2 API 17 .

La mia app richiede Google Play Services 8.1, si compila bene e quando viene eseguita sull'emulatore mostra il messaggio "Devi aggiornare i tuoi servizi Google Play" ,

Quando faccio clic su Aggiorna non succede nulla,

Come posso aggiornare i servizi di Google Play senza scaricare l'ultima versione dell'API?


1
È improbabile che non accada nulla. È più probabile che si verifichi un errore nella console di esecuzione simile a android.content.ActivityNotFoundException: No Activity found to handle Intent....
Kato,

1
A partire dal 2017 la risposta accettata non è più corretta. Il consiglio di @ user345280 riguardo alla scheda nella finestra dell'emulatore dovrebbe essere la risposta accettata.
Anthony Chuinard,

Ho riscontrato questo problema qualche giorno fa e nessuna delle risposte ha risolto il mio problema. Ho pubblicato la mia soluzione in fondo, forse aiuterà qualcuno che verrà qui al 2019.
Ban Markovic

Risposte:


86

Aggiornamento il 18-dic-2017

Puoi aggiornare Google Play Services tramite l'app Play Store nel tuo emulatore proprio come faresti su un dispositivo Android fisico da API 24.

controlla le nuove funzionalità dell'emulatore aggiunte con aggiornamento stabile da Android Studio v 3.0

Supporto di Google Play - Da Google: sappiamo che molti sviluppatori di app utilizzano Google Play Services e può essere difficile mantenere aggiornato il servizio nelle immagini di sistema dell'emulatore Android. Per risolvere questo problema, ora offriamo versioni di immagini di sistema Android che includono l'app Play Store. Le immagini di Google Play sono disponibili a partire da Android Nougat (API 24) . Con queste nuove immagini dell'emulatore, puoi aggiornare Google Play Services tramite l'app Play Store nell'emulatore proprio come faresti su un dispositivo Android fisico. Inoltre, ora puoi testare i flussi di installazione, aggiornamento e acquisto end-to-end con Google Play Store.


Avvio rapido: l'avvio rapido consente di riprendere la sessione dell'emulatore Android in meno di 6 secondi

Compatibilità CTS Android

Miglioramenti delle prestazioni: con le ultime versioni dell'emulatore Android, ora allociamo la RAM su richiesta, invece di allocare e bloccare la memoria alla dimensione massima della RAM definita nel tuo AVD.

Sensori virtuali

Supporto Wi-Fi

Posizione GPS e molti altri ...

O

Aggiorna questo SDK Build-Tools e Android Emulator alla versione più recente e questo messaggio di avviso non verrà più visualizzato,

Impostazioni -> Android SDK -> SDK Tools (scheda) -> Android SDK Build-Tools

inserisci qui la descrizione dell'immagine


27
semplicemente non funziona, le immagini appena scaricate vengono fornite con servizi google play senza dati
FRR

4
? Tutti gli emulatori (con le API di Google) sono dotati di una versione di Google Play Services, la domanda è su come aggiornarla all'ultima versione. Il download di un'API precedente ti dà una versione un po 'più recente, ma non è l'ultima. (qualcosa che non hai menzionato nella tua risposta)
FRR

6
Smetti di pubblicare collegamenti alla tua risposta sotto i post di altre persone.
meagar

4
Sembra che sia scomparso nell'ultima API 27
JPM il

10
Non sembra che questa risposta sia pertinente alla domanda in quanto si chiedono "Android 4.2.2 API 17" ma la risposta aggiornata è rilevante solo per API> = 24.
Liron Yahdav

77

Usa l'emulatore su cui è installato Play Store. Aggiornare i servizi di gioco sarebbe facile come nel dispositivo reale.

Da quando Google ha introdotto le immagini di Google Play Store in Android SDK Tools 26.0.0, ora gli emulatori vengono forniti con Google Play Store installato .

inserisci qui la descrizione dell'immagine

Dal 26.0.3

  • Aggiunge una nuova scheda nella finestra estesa per le immagini di Google Play Store che visualizza la versione di Play Services e un pulsante per controllare gli aggiornamenti di Play Services.

impostazioni dell'emulatore


17
Non ho questa scheda "Google Play" nella mia finestra estesa. Quale potrebbe essere il problema?
K.Os

11
Usi l'emulatore con Playstore installato? Controlla se hai sdk manager -> piattaforme sdk -> Android 8 -> Google Play ... immagine di sistema installata. Scaricalo. Crea un nuovo emulatore usando quell'immagine.
user345280,

5
Funziona su Android Studio 2.3.3. Crea un nuovo AVD, scegli Nexus 5o Nexus 5X(righe con l'icona di Google Play), premi avanti e poi Scarica Android 8.0 (Google Play)o Android 7.0 (Google Play). Nota il (Google Play)presente al nome dell'SDK. @ user345280 potrebbe voler modificare la risposta e aggiungere queste informazioni.
Rafael Oliveira,

2
Grazie @RafaelOliveira Ho provato per anni a usare un Pixel e mi chiedevo perché non riuscisse a vedere la mia immagine di Google Play ... deve essere un Nexus 5 o 5X!
hughjdavey,

12
Non sembra che questa risposta sia pertinente alla domanda in quanto si chiedono "Android 4.2.2 API 17" ma questa risposta è pertinente solo per API> = 24.
Liron Yahdav

18

Sulla base della documentazione di Google ,

Se vuoi testare la tua app sull'emulatore, espandi la directory per Android 4.2.2 (API 17) o una versione successiva, seleziona API di Google e installala. Quindi creare un nuovo AVD con le API di Google come destinazione della piattaforma.

Prova a accedere alle impostazioni -> app nell'emulatore e trova Google Play Services. Controlla il numero di versione e usalo in build.gradle. Per aggiornarlo con la versione più recente, è possibile visualizzarlo in questa documentazione e nella domanda SO .


2
Un buon consiglio, ma comunque non è possibile utilizzare una versione precedente di Play Services per testare funzionalità che richiedono una versione più recente.
andreszs,

17

Devi installare Google Play Image, Android SDK -> Piattaforme SDK -> controlla mostra Dettagli pacchetto -> installa Google play. inserisci qui la descrizione dell'immagine


16

Eseguendo l'app su un dispositivo virtuale con l'immagine di sistema, "Google Play API" anziché "Google API" risolverà il problema senza problemi.

  • Dispositivi virtuali Nexus 5x e Nexus 5 supportano l'immagine "Google Play API".

  • L'API di Google Play viene fornita con Nougat 7.1.1 e O 8.0.

Segui i semplici passaggi seguenti e assicurati che il tuo PC sia connesso a Internet.

  1. Crea un nuovo dispositivo virtuale selezionando Crea dispositivo virtuale (angolo in basso a sinistra) da Gestione dispositivi virtuali Android.

  2. Seleziona l'hardware "Nexus 5x" o "Nexus 5".

  3. Scarica l'immagine di sistema 'Nougat' con Google Play o 'O' con Google Play. 'O' è l'ultima versione di Android 8.0.

  4. Fai clic su Avanti e Fine.

  5. Esegui nuovamente l'app sul nuovo dispositivo virtuale e fai clic sull'opzione "Aggiorna ora" che viene visualizzata insieme al messaggio di avviso.

  6. Verrai indirizzato al Play Store e potrai aggiornare facilmente i tuoi servizi di Google Play.

Guarda la tua app funzionare senza problemi!

  • Nota : se prevedi di utilizzare le API dai servizi di Google Play, devi utilizzare l'immagine di sistema delle API di Google.

2
Hmm non ci sono Google Play API.
dal

1
Grazie mille. Questo ha funzionato per me. Non sono stato in grado di far funzionare un login dopo l'aggiornamento ad Android Studio 3.0.
pvella,

7
Non sembra che questa risposta sia pertinente alla domanda in quanto si chiedono "Android 4.2.2 API 17" ma questa risposta è pertinente solo per API> = 24.
Liron Yahdav

8

le risposte in questa pagina mi hanno eluso fino a quando ho trovato l' opzione mostra i dettagli del pacchetto

inserisci qui la descrizione dell'immagine


7

La mia risposta non è aggiornare il servizio Google Play ma aggirare. Ottieni la versione del servizio di riproduzione dell'emulatore utilizzando il seguente codice

getPackageManager().getPackageInfo("com.google.android.gms", 0 ).versionName);

Ad esempio, se il valore è "9.8.79", utilizza la versione minore più vicina disponibile com.google.android.gms: play-services: 9.8.0 '

Questo risolverà il tuo problema. Ottieni la cronologia delle versioni da https://developers.google.com/android/guides/releases#november_2016_-_v100


1
Potete per favore approfondire cosa intendete per "utilizzare la versione minore più vicina"? Come "uso" questo? Se so che il mio emulatore di Android Studio utilizza la versione 8.0.87, cosa devo fare esattamente con queste informazioni? C'è qualcosa nei file manifest o gradle che devo impostare?
Marc

puoi usare 7.8
Ganesh Kanna il

2

So che è una risposta tardiva, ma ho avuto lo stesso problema negli ultimi due giorni e nessuna delle soluzioni di cui sopra ha funzionato per me. La mia app supporta min sdk 16, Jelly Bean 4.1.x , quindi volevo testare la mia app sull'emulatore con la versione api Android 16 e avevo bisogno di Google Play Services.

In breve, la soluzione che ha funzionato per me è:

  • crea un nuovo emulatore Nexus 5X (con supporto Play Store) - Jelly Bean 4.1.x, 16 livelli API (SENZA API di Google)
  • scarica manualmente gli apk di Google Play Store e Google Play Services (è necessario che entrambi gli apk abbiano una versione simile, devono iniziare con lo stesso numero, ad esempio 17.x)
  • trascina e rilascia quegli apk nel nuovo emulatore
  • congratulazioni per aver aggiornato Google Play Services sul tuo emulatore 4.1.x.

Ecco i passaggi e gli errori che ho riscontrato durante il problema.

Quindi ho creato un nuovo emulatore nel mio AVD. Ho scelto Nexus 5X (con supporto Play Store). Dopodiché ho scelto il livello API a 16 Jelly Bean (con API di Google). Quando ho aperto la finestra di dialogo della mia app pop-up con il messaggio Devi aggiornare i tuoi servizi di Google Play . Quando ho fatto clic sul pulsante Aggiorna, non è successo nulla. Ho aggiornato tutto il necessario nel gestore SDK, ma nulla ha funzionato. Non avevo installato Google Play Store sul mio emulatore, anche se ho scelto Nexus 5X che viene fornito con Play Store preinstallato. Quindi non sono riuscito a trovare la scheda Google Play Store in Controlli estesi (punti ad albero accanto al mio emulatore).

Poiché nulla ha funzionato, ho deciso di provare a installare Google Play Services manualmente, scaricando APK e trascinandolo nell'emulatore. Quando ho provato questo, ho riscontrato il problema Impossibile installare l'APK. Errore: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES . Ho pensato che questo fosse il problema perché ho scelto Jelly Bean 16 api (con API di Google) . Quindi ho creato un nuovo emulatore

Nexus 5X (con supporto Play Store) - Jelly Bean 16 api livello ( SENZA Google API)

Questo mi ha permesso di installare il mio servizio Google Play manualmente. Ma quando eseguo la mia app, non voleva ancora aprirla. Il problema era che nel mio emulatore mancava Google Play Store. Quindi l'ho installato manualmente come il servizio Google Play. Ma quando è stato installato con successo, la finestra di dialogo ha iniziato ad apparire ogni secondo con il messaggio Purtroppo Google Play Services si è interrotto . Il problema era che la versione del mio Google Play Store era 17.xe il servizio Google Play era 19.x. Quindi alla fine ho installato Google Play Service con la versione 17.x e tutto ha funzionato.


Come hai scaricato e installato gli apk?
CoolMind

@CoolMind è sufficiente scaricarli da apkmirror.com (cercare in google google play services apk apkmirror). Quando li scarichi, trascina e rilascia i file apk nell'emulatore.
Ban Markovic il

Grazie! Ci ho pensato anche io, ma non ero sicuro. Cercherò. Hai usato la versione 17 o più?
CoolMind il

1
Nessun problema, spero che risolverai il tuo problema. Ho usato la versione 17 del GPS, ma penso che tu possa utilizzare qualsiasi versione più recente che desideri. Ecco l'articolo con qualche informazione in più sulla mia soluzione medium.com/@banmarkovic/…
Ban Markovic

1
Non sono sicuro di aver capito tutto quello che hai detto. Ma eviterei le versioni armeabi-v7a di apk ed emulatori e proverò tutto con solo l'architettura x86 (apks ed emulatore).
Ban Markovic il

1

Stavo avendo lo stesso problema. Evita di usare un emulatore con SDK 27. SDK 26 funziona bene!


0

Ho affrontato lo stesso problema. Ho aggiornato il mio studio Android e ho utilizzato il target API 25 come Android 7.1.1 e X86 e tutto ha funzionato bene. Uso i servizi di Google Play e Firebase per il mio progetto


0

2020, l'errore di Google Play non è aggiornato. Richiede 12451000 ma trovato 11743470

basta aggiornare i servizi di Google Play da Google Play dopo aver effettuato l'accesso con un account valido.

PS: ho provato diverse versioni di Emulator, ma tutte necessarie per aggiornare i servizi di Google Play.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.