Cette application ne fonctionnera que si vous mettez à jour les Services Google Play (Via Bazaar).)

je teste la nouvelle API V2 de Google Maps pour Android, et je reçois ce message lors du lancement de l'application:

MainActivity showing error message

il fonctionne sur un émulateur 4.1.

Voici mon fichier AndroidManifest.xml :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.maptest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <permission
        android:name="com.example.maptest.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.maptest.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <!-- Require OpenGL ES version 2 -->
    <uses-feature
          android:glEsVersion="0x00020000"
          android:required="true"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="##myapikey##"/>

    </application>
</manifest>

Activité Principale Du Fichier.java:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

fichier activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.MapFragment"/>
</RelativeLayout>

En cliquant sur "Update", l'application s'écrase avec le stacktrace suivant:

E/Trace(1034): error opening trace file: No such file or directory (2)
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
D/gralloc_goldfish(1034): Emulator without GPU emulation detected.
D/AndroidRuntime(1034): Shutting down VM
W/dalvikvm(1034): threadid=1: thread exiting with uncaught exception (group=0x40a13300)

E/AndroidRuntime(1034): FATAL EXCEPTION: main
E/AndroidRuntime(1034): android.content.ActivityNotFoundException: No Activity found to handle Intent
  { act=android.intent.action.VIEW dat=http://play.google.com/store/apps/details? 
  id=com.google.android.apps.bazaar flg=0x80000 pkg=com.android.vending }
E/AndroidRuntime(1034):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
E/AndroidRuntime(1034):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
E/AndroidRuntime(1034):     at android.app.Activity.startActivityForResult(Activity.java:3351)
E/AndroidRuntime(1034):     at android.app.Activity.startActivityForResult(Activity.java:3312)
E/AndroidRuntime(1034):     at android.app.Activity.startActivity(Activity.java:3522)
E/AndroidRuntime(1034):     at android.app.Activity.startActivity(Activity.java:3490)
E/AndroidRuntime(1034):     at com.google.android.gms.internal.c.onClick(Unknown Source)
E/AndroidRuntime(1034):     at android.view.View.performClick(View.java:4084)
E/AndroidRuntime(1034):     at android.view.View$PerformClick.run(View.java:16966)
E/AndroidRuntime(1034):     at android.os.Handler.handleCallback(Handler.java:615)
E/AndroidRuntime(1034):     at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(1034):     at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(1034):     at android.app.ActivityThread.main(ActivityThread.java:4745)
E/AndroidRuntime(1034):     at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1034):     at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(1034):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
E/AndroidRuntime(1034):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime(1034):     at dalvik.system.NativeStart.main(Native Method)

j'ai également fait référence au projet Google Play Services. Ce que je fais mal?

mise à JOUR

le bogue correspondant dans Google issue tracker ( https://issuetracker.google.com/issues/35822258 ) a été résolu il y a quelque temps.

Maintenant, vous pouvez utiliser L'API Android de Google Maps émulateur et créer des dispositifs virtuels avec les services de jeu comme décrit dans cette réponse:

https://stackoverflow.com/a/46246782/5140781

99
demandé sur xomena 2012-12-04 01:22:48

12 réponses

selon une discussion avec Développeurs Android sur Google+, l'exécution de la nouvelle API de carte sur l'émulateur n'est pas possible pour le moment.

(le commentaire est de Zhelyazko Atanasov hier à 23: 18, Je ne sais pas comment lier directement à elle)

aussi, vous ne voyez pas la" (via Bazaar) " partie lorsque vous exécutez à partir d'un périphérique réel, et le bouton de mise à jour ouvrir le jeu Stocker. Je suppose que Bazaar est destiné à fournir des services Google Play sur L'émulateur Android, mais il n'est pas encore prêt...

42
répondu nicopico 2014-03-16 14:54:57

mise à JOUR

L'API V2 de Google maps est maintenant installée sur les dernières images système de Google (api:19 ARM ou x86).

Votre application devrait donc fonctionner avec les nouvelles images. Il n'est pas nécessaire d'installer ces fichiers.

j'ai essayé D'exécuter une application V2 de Google Maps sous un émulateur et une fois que J'ai enfin obtenu Google Play Services en cours d'exécution, j'ai mis à jour mon SDK vers la révision 4 de Google Play Services, et mon émulateur ne lancerait plus mon application.

j'ai maintenant travaillé sur la mise à jour de mon émulateur à partir de ma tablette transformateur. (Vous n'aurez pas besoin d'une tablette car vous pouvez télécharger les fichiers ci-dessous.)

j'ai utilisé une sauvegarde en titane pour sauvegarder mon transformateur Asus Eee Pad (TF101) et j'ai ensuite saisi le com.Android.de vente et de la com.Google.Android.gms APK les fichiers de la sauvegarde.

je les ai installés sur un émulateur configuré avec la plate-forme: 4.1.2, niveau API: 16, CPU Intel/Atom x86) et mon application Google Maps V2 fonctionne à nouveau.

C'est tout .. aucune des autres étapes concernant /system / app n'était requise.

mon application utilise uniquement L'API GoogleMaps, sans doute, d'autres étapes sont nécessaires si vous utilisez d'autres services Google Play.

nouveaux fichiers pour les derniers services Google Play:

mêmes instructions qu'avant: Créer un nouvel émulateur avec n'importe quel CPU / ABI , une cible Non-Google API (les versions 10-19 fonctionnent) et GPU désactiver l'émulation, et ensuite installer les fichiers:

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

si vous mettez à jour un émulateur existant, vous pourriez avoir besoin de désinstaller les versions précédentes par:

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

C'est tout.

55
répondu danbrough 2014-03-26 13:14:34

j'ai passé environ une journée à configurer le nouveau gmaps API (Google Maps API Android v2) sur L'émulateur Android. Aucune des méthodes que j'ai trouvées sur Internet ne fonctionnait correctement pour moi. Mais encore, je l'ai fait. Voici comment:

  1. créer un nouvel émulateur avec la configuration suivante:

Enter image description here

sur les autres versions Je ne pouvais pas configurer en raison de diverses erreurs lorsque j'ai installé les applications nécessaires.

2) Démarrer l'émulateur et installer les applications suivantes:

  • GoogleLoginService.apk
  • Googleservicesfram Framework.apk
  • Phonesky.apk

vous pouvez le faire avec les commandes suivantes:

2.1) adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

2,2) adb shell chmod 777 /system/app

2.3-2.5) adb push Each_of_the_3_apk_files.apk /system/app/

Liens "1519370920 de" téléchargement de fichiers APK . Je les ai copiés depuis mon appareil androïde.

3) Installer Google Play Services et Google Maps sur l'émulateur. J'ai une erreur 491, si je les installe à partir de Google Play store. J'ai téléchargé les applications sur l'émulateur et lancez l'installation en local. (Vous pouvez utiliser adb pour l'installer). Liens vers les applications:

4) j'ai réussi à lancer un échantillon de démonstration sur l'émulateur après ces étapes. Voici une capture d'écran:

Google Maps

39
répondu Paha 2014-03-16 14:08:35

je réponds à cette question pour la deuxième fois, parce que la solution que j'ai essayé qui n'a pas fonctionné au début fonctionne maintenant, et je peux recréer les étapes pour le faire fonctionner :)

j'ai également eu le sentiment que l'absence de Google Play Store est un coupable ici, donc j'ai essayé D'installer Google Play Store à l'émulateur par des conseils sur ce lien et ce lien combiné. J'ai eu quelques difficultés, mais à la fin j'ai réussi à installation Google Play Store et testé en téléchargeant une application aléatoire. Mais l'activité maps a continué à afficher le message avec le bouton "Update". Ce bouton me conduirait au magasin, mais là je recevrais un message au sujet de "l'article pas trouvé" et les cartes ne fonctionnent toujours pas. Au point que j'ai renoncé.

hier, j'ai allumé la même application de test par accident et ça a marché! J'étais très confus, mais rapidement j'ai fait une diff à partir de l'émulateur où il fonctionne et nouveau propre one et moi avons déterminé deux applications sur celle qui fonctionne dans /data/app/ directory: com.Android.vending-1.apk et com.Google.Android.gms-1.apk. C'est étrange puisque, quand J'installais Google Play Store par les instructions de ces sites, je poussais Phonesky.apk, Googleservicesfram Framework.apk et GoogleLoginService.apk et à un autre dossier /system/app.

quoi qu'il en soit, maintenant L'API V2 de Google Maps pour Android fonctionne sur mon émulateur. Voici les étapes à suivre:


créer un nouvel émulateur

  • Pour périphérique , choisissez "5.1" WVGA (480 x 800: mdpi)"
  • pour cible , choisissez "Android 4.1.2-API Niveau 16"
  • pour "CPU / ABI", choisissez " ARM "
  • Laisser le reste par défaut

ce sont les réglages qui fonctionnent pour moi. Je ne sais pas pour les autres.


Démarrer l'émulateur


installer com.Android.vending-1.apk et com.Google.Android.gms-1.apk via la commande d'installation ADB


Google Maps devrait fonctionner maintenant dans votre émulateur.

29
répondu Nemanja Kovacevic 2014-03-16 14:59:11

j'ai créé un (allemand) description comment le faire fonctionner . Vous avez essentiellement besoin d'un émulateur avec au moins API Niveau 9 et pas D'API Google. Ensuite, vous aurez à obtenir les APK d'un enraciné dispositif:

adb -d pull /data/app/com.android.vending-2.apk
adb -d pull /data/app/com.google.android.gms-2.apk

et les installer dans l'émulateur:

adb -e install com.android.vending-2.apk
adb -e install com.google.android.gms-2.apk

vous pouvez même lancer L'application Google Maps native, si vous avez un émulateur avec au moins API Niveau 14 et en outre installer com.google.android.apps.maps-1.apk

amusez-vous bien.

3
répondu Kurt Huwig 2013-09-11 18:09:52

j'ai essayé D'exécuter un V2 Google Maps sous un émulateur, et j'ai trouvé de nombreuses façons de le faire, mais aucune d'entre elles n'a fonctionné pour moi. J'ai toujours cet avertissement dans le Logcat Google Play services out of date. Requires 3025100 but found 2010110 et quand je veux mettre à jour les services Google Play sur l'émulateur rien ne s'est passé. Le problème était que le com.Google.Android.gms APK n'était pas compatible avec la version de la bibliothèque dans mon SDK Android.

j'ai installé ces fichiers "COM.Google.Android.gms.apk", " com.Android.distributeur.apk" sur mon émulateur et mon application Google Maps v2 très bien fonctionné. Aucune des autres étapes concernant /system / app n'était requise.

2
répondu Adil 2014-03-16 14:15:36

cette application ne fonctionnera que si vous mettez à jour les Services Google Play. J'ai essayé pendant si longtemps, mais je n'ai pas eu la carte... Seul un écran blanc apparaît, même si J'ai modifié mon service Google Play donné par le commentaire ci-dessous..


Vérifiez votre fichier de manifeste de services de jeu et vérifiez le code de version pour le fichier APK com.Google.Android.gms. Dans le bas, c'est"3136110". Téléchargez ces fichiers APK et installez-les à partir D'un DOS invite, mais avant l'installation, exécutez votre cible émulateur.

package="com.google.android.gms"
android:versionCode="3136110"
android:versionName="3.1.36 (673201-10)

j'ai eu ces fichiers APK de ce lien .

2
répondu user 2014-03-16 14:50:34

j'ai résolu ce problème en faisant les étapes suivantes:

  • Dans Émulateur:

    vous devez utiliser la dernière API Google APIs(Google Inc.)-API Level 19 .

    fait le reste des choses placées dans la capture d'écran elle-même.

    enter image description here

  • Clé API:

    créer Nouvelle clé API et vérifiez attentivement la clé API GoogleMap et la clé SHA.

  • Google Play Services:

    vous devez télécharger les derniers services Google Play com.Android.vending-4.8.20.apk .Dans ce site si google play services ne fonctionnait pas signifie que vous pouvez trouver beaucoup de sites en internet nommé com.android.vending 4.8.20.apk .

    vous pouvez lancer le Google play Services en utilisant la commande Prompt adb install com.android.vending 4.8.20.apk .

    Note: vous devez télécharger les derniers services Google play car, année par année, la dernière version sera mise à jour sur internet.

    sortie :

    enter image description here

2
répondu Luffy 2014-10-09 09:41:32

après mise à jour à ADT 22.0.1, en raison de bibliothèques privées Android, le service Google Maps donnait quelques erreurs et l'application s'est écrasé. Donc j'ai finalement trouvé la solution et ça a marché pour moi.

il suffit d'installer la bibliothèque de service Google Play et puis aller à google-play-service/libproject/google-play-services_lib de https://www.dropbox.com/sh/2ok76ep7lmav0qf/9XVlv61D2b . Importez ça dans votre espace de travail. Nettoyer votre projet où vous voulez utiliser gogole-play-services-lib, puis le construire à nouveau et aller à la projet - > Propriétés -> Java BuildPath -> sélectionnez "Android Bibliothèques Privées, Android Dépendances, google-play-service"

dans Propriétés lui-même, aller à Android et puis choisir l'une des versions, puis Ajouter et sélectionner google-play-service-lib, puis appuyez sur Appliquer et enfin OK.

enfin, allez au projet - > Android Tools - > Android Support Libraries. Accepter la licence et après l'installation puis exécuter votre projet.

ça marchera très bien.

0
répondu Honey Shah 2014-03-16 14:19:40

j'ai trouvé une belle solution qui vous permettent de tester votre application dans l'émulateur et aussi ne pas vous obliger à revenir à l'ancienne version de la bibliothèque. Voir une réponse à un Débordement de Pile question en cours d'Exécution Google Maps v2 sur l'émulateur Android .

0
répondu PalmRobotZ 2017-05-23 12:02:54

de Android SDK Manager, Installer: Extras: Google Play services

0
répondu Franck 2015-11-21 14:48:03
 just change it to 

compile 'com.google.android.gms:play-services-maps:9.6.0'
compile 'com.google.android.gms:play-services-location:9.6.0'

cela fonctionne pour moi version actuelle est 10.0.1

0
répondu jagapathi 2016-12-03 11:32:20