Il existe plusieurs variantes de cette question, mais la plupart sont très anciennes et ne répondent pas du tout à la question. Je ne demande pas comment installer Play Services, qui est installé dans les émulateurs de Studio 2.2.
Le problème est que ces émulateurs utilisent une ancienne version des services de lecture.
Lorsque j'exécute une application de test utilisant Firebase pour faciliter la connexion à Google, je reçois cette boîte de dialogue d'alerte à partir d'un émulateur Nexus 5 API 23:
Dans la méthode onCreate de mon activité de connexion, j'ai ce code:
int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
switch(result) {
case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED:
Log.d(TAG,"SERVICE_VERSION_UPDATE_REQUIRED");
break;
case ConnectionResult.SUCCESS:
Log.d(TAG, "Play service available success");
break;
default:
Log.d(TAG, "unknown services result: " + result);
}
Cela retourne toujours SERVICE_VERSION_UPDATE_REQUIRED.
En cliquant sur la mise à jour dans la boîte de dialogue d'alerte, rien ne peut être détecté. Dans le journal de débogage, ce message s'affiche lorsque le démarrage de Play Services échoue:
W/GooglePlayServicesUtil: Google Play services out of date. Requires 9080000 but found 8489470
Mon application fonctionne correctement sur un véritable appareil Android.
Quelle chose simple me manque?
TIA
Cela peut ne pas être pertinent pour cette question maintenant, mais je voulais le poster ici pour les futurs explorateurs, afin qu'ils voient des terres au fond de la mer. Je me débattais avec ce service Google Play obsolète sur mon émulateur Nexus 5 x86 exécutant l’API 25 et essayant de recevoir une notification Firebase. J'utilise Firebase 10.0.1 qui nécessite les services Google Play 10.0.1. Mais sur mon émulateur, je recevais toujours le message
W/GooglePlayServicesUtil: services Google Play obsolètes. Nécessite 1008400 mais trouvé 9874900
W/FA: échec de la connexion au service: ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED, résolution = null, message = null}
J'avais longuement cherché un moyen de mettre à jour les services Google Play sur mon émulateur, et ce qui a été suggéré n'a jamais fonctionné. Enfin, j'ai essayé de créer un nouvel émulateur Nexus 5 x86_64 et API 24. Voilà! Il a Google Play Services 10.0.1 et mon application fonctionne maintenant.
Cela me dépasse vraiment de savoir pourquoi l’image x86 n’a pas les derniers Serviecs Google Play et ne me permet pas de la mettre à jour de quelque manière que ce soit, alors que l’image x86_64 possède les derniers services Google Play.
J'espère que cela aidera quelqu'un aux prises avec des problèmes avec les services Google Play.
En ce qui concerne mon cas, j'ai essayé de rechercher des mises à jour sur Android Studio, ainsi que sur les services Google Play, puis j'ai redémarré Android Studio. Ensuite, la boîte de dialogue de mise à jour est apparue, ce qui me permet de mettre à jour les images de l'émulateur avec la version correcte des services Google Play.
Attendez la fin de la mise à jour, puis créez de nouveaux fichiers AVD basés sur les images récemment mises à jour et tout est prêt à l'emploi.
En supposant que vous utilisez les AVD par défaut d'Android, par opposition à Genymotion, vous devez simplement vous assurer que tout a été mis à jour.
C'est ce qui fonctionne pour moi. Si vous utilisez la version actuelle des services de jeu, version 9.6.1 ou supérieure, vérifiez les points suivants:
Après avoir assuré tout cela et redémarré Android Studio (car mieux vaut prévenir que guérir), créez un nouveau fichier AVD. J'utilise principalement les paramètres suivants: - Nougat (API 24) - ABI - x86_64 - Cible - Android 7.0 (avec Google API)
Cela fonctionne pour moi, car j’avais le même problème ce matin jusqu’à ce que j’ai tout mis à jour. Bonne chance :)
Si les personnes recherchent toujours une réponse et n'ont trouvé aucune solution pour corriger ou mettre à jour les services Google Play sur leurs émulateurs, voici ce qui m'a aidé. J'avais suivi plusieurs SO messages qui recommandent l'utilisation des derniers outils de génération de SDK, mais j'ai manqué une mise à jour très importante. Autrement dit, à partir des plates-formes SDK, vous devez mettre à jour/télécharger
Google Play Intel x86 Atom System Image
Je ne demande pas comment installer Play Services, qui est installé dans les émulateurs de Studio 2.2.
Vous semblez demander comment le mettre à jour, auquel cas vous devez savoir comment l’installer.
Le problème est que ces émulateurs utilisent une ancienne version des services de lecture.
C'est ce que dit l'erreur, oui.
Première possibilité: votre bibliothèque d'émulateur et/ou de SDK est obsolète et vous avez besoin d'un nouveau fichier AVD.
Possibilité deux: Allez télécharger le dernier APK pour Play Services et installez-le. Vous pouvez utiliser adb
pour l’installer, par exemple. Genymotion vous permettra d'installer des fichiers APK en les faisant glisser sur l'émulateur.
Ce qui a fonctionné pour moi est:
Recherchez et installez les nouvelles mises à jour. Vous voulez en particulier vous assurer que vous installez la dernière version des services Google Play. De plus, vous pouvez vérifier la version des services Google Play que vous utilisez dans le gestionnaire de SDK.
Supprimez tous vos émulateurs dans le gestionnaire AVD (Android Virtual Device).
Créez un nouvel émulateur.
Devrait bien fonctionner après!
Ces paquets ne fonctionneront que pour Android 4.2.2 et supérieur dans ces réponses, je prends un exemple de (API 17). Et cela fonctionnera.
Commençons par lancer le gestionnaire de SDK. Nous devrons d’abord nous assurer que Android 4.2.2 (API 17) et les versions ultérieures sont installés.
[shubham@localhost tools]$ ./Android sdk
Sinon, vérifiez l'élément de niveau supérieur «Android 4.2.2 (API 17)», cliquez sur «Installer 6 packages» et acceptez le contrat de licence.
Pour obtenir la bonne image pour votre gestionnaire de périphérique virtuel:
Vérifier ARM Image système EABI v7a
[! [Outil requis par Google Android sdk] [1]] [1]
Une fois installé, fermez le SDK Manager et lancez le gestionnaire AVD. Ici, nous devrons créer un nouveau fichier AVD qui utilise la plate-forme Android 4.2.2 et sur lequel les instantanés sont activés, de sorte que toutes les modifications apportées sont persistantes.
[shubham@localhost tools]$ ./Android avd
Ensuite, nous devons extraire le package Google Apps approprié. Sous Android 4.2.2 (API 17) et les versions ultérieures, nous devons utiliser le package approprié en suivant le lien ci-dessous.
[https://www.androidfilehost.com/?w=files&flid=5649][2]
Une fois téléchargé, extrayez l'archive. Pour installer Google Play, nous devons envoyer les 3 fichiers APK suivants à notre AVD (situé dans ./system/app/):
Cependant, avant cela, nous devons apporter quelques modifications mineures à notre DAV. Lançons le nouveau disque créé à l’aide de la commande suivante. Notez que nous avons spécifié une taille de partition de 512 Mo. Cela permet de garantir que notre AVD dispose de suffisamment de capacité pour installer Google Play Store et ses dépendances.
[shubham@localhost tools]$ ./emulator -avd Test -partition-size 512 -no-boot-anim
Cela peut prendre plusieurs minutes la première fois que l’AVD est créé. Une fois démarré, nous devons remonter la partition de l’AVD et modifier les autorisations de «/ system/app /», car c’est là que nos packages seront installés.
[shubham@localhost platform-tools]$ ./adb remount
[shubham@localhost platform-tools]$ ./adb Shell chmod 777 /system/app
Et enfin, nous pouvons envoyer ces fichiers APK à notre AVD:
[shubham@localhost platform-tools]$ ./adb Push ~/system/app/GoogleServicesFramework.apk /system/app/
[shubham@localhost platform-tools]$ ./adb Push ~/system/app/GoogleLoginService.apk /system/app/
[shubham@localhost platform-tools]$ ./adb Push ~/system/app/Phonesky.apk /system/app/
Désormais, si votre émulateur est aussi lent que le mien, l'installation du package peut prendre quelques minutes. Vous saurez si l’installation n’est pas encore terminée si le processus de lancement s’interrompt à plusieurs reprises;)
Au bout de quelques minutes, le package Google Play devrait apparaître dans le lanceur de menus. Après avoir associé un compte Google à cet AVD, nous disposons maintenant d'une version entièrement fonctionnelle de Google Play fonctionnant sous votre émulateur.
Veuillez vous référer à ce lien: [ http://www.flinkd.org/2013/12/installing-google-play-on-the-Android-emulator-api-18/][3]
Cela devrait faire le travail. Pour plus d'informations et tutoriel, vous pouvez regarder ces tutoriels vidéo: - [ https://www.youtube.com/watch?v=Nq5mng20PC8[4]
[1]: http://i.stack.imgur.com/Xn2cX.png
[2]: https://www.androidfilehost.com/?w=files&flid=5649
[3]: http://www.flinkd.org/2013/12/installing-google-play-on-the-Android-emulator-api-18/
[4]: https://www.youtube.com/watch?v=Nq5mng20PC8