web-dev-qa-db-fra.com

Exécution de Google Maps v2 sur l’émulateur Android

J'ai essayé d'implémenter Google Maps v2 dans mon Android), mais malheureusement, à la place des cartes, le message suivant s'affiche:

This app won't run without Google Play services which are missing from your phone.

Est-il possible d'exécuter ces cartes sur l'émulateur Android (Platform 4.2)?

46
Dawid

Pour le moment, en référence à Google Android Map API v2, vous ne pouvez pas exécuter Google Maps v2 sur l'émulateur Android; vous devez utiliser un appareil pour vos tests.) .

30
AliR

Pour ceux qui ont mis à jour la dernière version de google-play-services_lib et/ou ont cette erreur Google Play services out of date. Requires 3136100 but found 2012110 cette version plus récente de com.google.Android.gms.apk (Services Google Play 3.1.36) et com.Android.vending.apk (Google Play Store 4.1.6) devrait fonctionner.

Testez avec cette configuration sur Android SDK Tools 22.0.1. Une autre configuration qui cible purement Android, pas celle de Google, devrait également fonctionner.

  • Appareil: Galaxy Nexus
  • Cible: Android 4.2.2 - API de niveau 17
  • CPU/ABI: ARM (armeabi-v7a)
  • Vérifié: Utiliser l'hôte GPU

...

  1. Ouvrez l'AVD
  2. Exécuter ceci dans le terminal/cmd

    adb -e install com.google.Android.gms.apk
    adb -e install com.Android.vending.apk
    
  3. Redémarrer l'AVD

  4. Amusez-vous à coder !!!

J'ai trouvé que cette méthode était la plus simple et la plus propre. Elle fonctionne avec la version la plus récente du logiciel, ce qui vous permet d'obtenir toutes les corrections de bugs.

25
Nuntipat Narkthong

S'il vous plaît essayez ce qui suit. Ce fut pour moi une réussite .

Pas:

  1. Créez un nouvel émulateur avec cette configuration: AVD configuration

  2. Démarrez l’émulateur et installez les fichiers suivants [~ # ~] apk [~ # ~] : GoogleLoginService.apk, GoogleServicesFramework.apk, et Phonesky.apk. Vous pouvez le faire avec les commandes suivantes:

    adb Shell mount -o remount,yourAvdName -t yaffs2 /dev/block/mtdblock0 /system
    adb Shell chmod 777 /system/app
    adb Push GoogleLoginService.apk /system/app/
    adb Push GoogleServicesFramework.apk /system/app/
    adb Push Phonesky.apk /system/app/
    

    Liens pour les APK:

    1. GoogleLoginService.apk
    2. GoogleServicesFramework.apk
    3. Phonesky.apk AKA Google Play Store, v.3.5.16
    4. Google Maps , v.6.14.1
    5. Services Google Play , v.2.0.10
  3. Installer les services Google Play et Google Maps dans l'émulateur

    adb install com.google.Android.apps.maps-1.apk
    adb install com.google.Android.gms-2.apk
    
  4. Téléchargez la révision 4 du service Google Play à partir de ce lien et d’extra au dossier sdkmanager->extra->google play service.
  5. Importer google-play-services_lib de androidsdk\extras\google\google_play_services.
  6. Créez un nouveau projet et référencez le projet ci-dessus en tant que projet de bibliothèque.
  7. Exécutez le projet.
14
Kirit Vaghela

J'ai réussi à installer Google Maps v2 sur un émulateur à l'aide de ce guide .
Vous devriez suivre les étapes suivantes:

12
Fido

Je recommande d'utiliser le émulateur de Genymotion au lieu des émulateurs de Google. Il se lance beaucoup plus vite et répond presque en temps réel. Il prend également en charge les services Google Play et donc Google Maps.

Google Maps on Genymotion

Essaie! Voici un article de blog qui vous aide à configurer l'émulateur.

4
JJD

Je peux utiliser mon émulateur pour exécuter mon application avec Google Map V.2 (avec le service Google Play V.4). J'ai suivi des étapes que d'autres ont suggérées avec quelques échecs, mais j'en ai tiré des leçons et les ai rendues efficaces. C'est ainsi:

  1. Tout d'abord: vous devez avoir codé votre application cartographique. correctement avec toutes les autorisations appropriées configurées dans votre métafichier XML et intégrez Google Play Services APK à votre application. Pour vérifier que cela est vrai, vous devez exécuter votre application sur un périphérique REAL et savoir que cela fonctionne avec sa carte. Ensuite, vous pouvez traiter votre émulateur comme indiqué ci-dessous.

  2. Créez un nouvel émulateur ou utilisez votre émulateur existant avec les spécifications suivantes:

    • Nom de la cible = Android 4.1.2
    • Niveau API = 16
    • CPU = Tout. Cependant, j'ai trouvé ARM est beaucoup plus rapide/réactif que x86
    • Avoir assez RAM mémoire et espace Mo
  3. Exécutez votre émulateur (votre émulateur cible doit être en cours d'exécution!)

  4. Téléchargez les fichiers APK suivants (disponibles via la boîte de dépôt le 4/2/2013) dans votre répertoire local (recherchez les virus!):

  5. Installez ces deux APK dans votre émulateur en cours (cible) avec la commande ADB:

    Invite DOS/Console> adb -e install [fichier-chemin-APK-fichier]

    REMARQUE: il est possible que ces fichiers APK aient été installés dans votre émulateur lors de cette erreur d'essai et que vous deviez les réinstaller pour une raison quelconque. Vous devez d'abord les désinstaller par: adb -e uninstall (com.google.Android.gms ou com.Android.vending)

  6. Ici, c’est là que les choses pourraient devenir difficiles. Vous pensez que vous avez terminé, mais lorsque vous ouvrez à nouveau votre application avec Map, vous obtenez une erreur sous la forme suivante: "Les services Google Play sont obsolètes. Nécessite 2012100 mais il a trouvé 2010110" et peut afficher un bouton. "Mettre à jour" Google Play. Si tel est le cas, n'essayez PAS de cliquer sur le bouton de mise à jour car cela ne fera rien. J'ai aussi cette erreur et je l'ai résolue par les deux étapes supplémentaires suivantes:

    • Nettoyer-reconstruire-réinstaller mon application dans l'émulateur
    • Fermez mon émulateur et redémarrez-le.
  7. Ça y est, ça fonctionne bien maintenant.

2
Panini Luncher

Google a mis à jour l'API 23 de ciblage de périphérique virtuel. Elle est désormais livrée avec Google Play Services 9.0.80. Donc, si vous utilisez Google Maps API V 2.0 (j'utilise play-services-maps: 9.0.0 et play-services-location.9.0.0), aucune solution de contournement n'est nécessaire. Ça marche!

2
AlanKley

Vous devez essayer un émulateur avec la version de l'API Google. Chaque plate-forme a deux versions, Android et Android + Google API. Assurez-vous que lors de la création de l'AVD, vous sélectionnez la version de Google APIs sur le champ cible.

Et la page Assurez-vous que les services Google Play sont bien APK peut également être utile.

1
sabadow

J'ai réussi à exécuter notre application, qui requiert Google Maps API 2, sur une machine virtuelle AndroVM .

AndroVM n'est pas livré avec Google Maps ni Google Play, mais fournit une copie modifiée de l'archive Cyanogen Gapps, qui est un ensemble des applications propriétaires de Google installées sur la plupart des appareils Android.

Les instructions, copiées à partir de la FAQ AndroVM:

Comment puis-je installer Google Apps (y compris l'application Market/Play)?

  • Téléchargez Google Apps: gapps-jb-20121011-androvm.tgz [essentiellement le répertoire/system de l'archive Cyanogen gapps sans l'application GoogleTTS, qui se bloque sur AndroVM]
  • Décompressez le fichier gapps… tgz sur votre hôte. Un répertoire système sera créé.
  • Obtenez l'adresse IP de gestion de votre AndroVM (outil "AndroVM Configuration") et faites "adb connect x.y.z.t".
  • faire "adb root"
  • reconnecter avec "adn connect x.y.z.t"
  • faire "remb remount"
  • faire “adb Push system// system /”

Votre VM va redémarrer et vous devriez avoir des applications Google, y compris Market/Play.

Certaines applications Google, comme Google Maps, ne seront pas disponibles, mais elles peuvent être téléchargées à partir de Market/Play.

Suivez donc ces instructions, puis installez simplement Google Maps avec Google Play!

Quelques bons effets secondaires de l’utilisation de VM plutôt que de l’émulateur:

  • Performance générale largement supérieure
  • Accélération OpenGL
  • Assistance Google Play

Jusqu'à présent, le seul problème survenu sur la route a été le manque de gestes multi-touch, ce qui est décevant pour une application de cartographie! Je prévois de contourner cela avec un mécanisme d'interface utilisateur caché, donc pas un problème aussi énorme.

1
Joel Malone

J'ai déjà répondu à cette question dans ne réponse à la question Stack Overflow . Problème d'utilisation du bouton de connexion Google dans l'émulateur . Cela ne fonctionne que pour Android 4.2.2, mais vous permet d'utiliser le paramètre "Intel Atom (x86)") "dans AVD.

Je pense qu'il est facile de le faire fonctionner pour d'autres versions d'Android. Il suffit de trouver les bons fichiers.

0
Javier Rodriguez

J'ai essayé les étapes ci-dessus (par paniniluncher) mais j'ai reçu le message suivant:

Google Play services out of date. Requires 3025100 but found 2012110

J'ai reçu ce message car j'avais besoin de différentes versions des fichiers mentionnés ci-dessus. Pour résoudre le problème, j'ai d'abord désinstallé les fichiers référencés ci-dessus, puis téléchargé les versions dont j'avais besoin (comme indiqué dans la publication StackOverflow suivante:

services Google Play obsolètes. Nécessite 3025100 mais a trouvé 201211

et ensuite installé ces fichiers en utilisant `adb -e install [fichier-chemin-APK-fichier] puis redémarré l'émulateur et cela a fonctionné parfaitement!

0
user2101068