Cette application ne fonctionnera pas à moins que vous la mise à jour de Google Play Services (via le Bazar)
Je vais tester la nouvelle version de Google Maps API V2 pour Android, et je reçois ce message lorsque l'application est lancée:
C'est en cours d'exécution sur un 4.1 émulateur.
Voici mon AndroidManifest.xml
fichier:
<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>
Fichier MainActivity.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>
Cliquant sur le bouton "mise à Jour" qui bloque l'application avec le suivant stacktrace:
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$2.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 aussi mentionné le Google Play Services du projet. Ce que je fais mal ici?
Mise à JOUR
Le bogue correspondant dans Google issue tracker (https://issuetracker.google.com/issues/35822258) a été résolu il y a quelques temps.
Maintenant, vous pouvez utiliser Google Maps API Android émulateur et de créer des périphériques Virtuels avec Jouer de services, comme indiqué dans cette réponse:
https://stackoverflow.com/a/46246782/5140781
- Êtes-vous à l'aide de l'avd avec l'api de google ou de la plaine android?
- Plaine Android, bien que j'ai juste essayé de passer à l'API de Google pour 4.1 et c'est la même chose.
- Assez étrangement, je suis à la recherche d'exactement le même problème exactement au même moment. Je suis en supposant qu'il est parce que le Google Play APK n'est pas installé sur l'Émulateur. L'erreur est parce que l'application est en train d'essayer de lancer Google Play (le magasin) pour installer l'APK. Il va probablement fonctionner sur un appareil.
- Oui, il semble de cette façon, n'est-ce pas? L'installation des Services Google docs disent rien sur l'installation de l'application lecture bien: developer.android.com/google/play-services/setup.html
- L'absence d'autres références à ce problème me fait penser que c'est assez récent bug. Je ne peux pas aider mais pense que j'ai raté quelque chose dans la configuration, mais j'ai vécu quelques temps maintenant. Ce serait littéralement prendre 5 minutes pour configurer sur iOS assez ennuyeux 🙁
- oui, vous avez raison iOS 6 cartes sont géniales!
- Comment parler de l'échantillon fourni, MapDemo, cela fonctionne pour vous? Le mien se bloque sur le même émulateur avec une ExceptionInInitializationError
- Je n'ai pas essayé encore. Ma prochaine étape serait probablement à essayer sur un appareil, mais malheureusement, ma femme a pris ma nexus 7 de travail. J'ai eu beaucoup de périphériques au travail donc je vais essayer ça demain au bureau. Je vais vous laisser savoir ici si il fonctionne très bien. Il y a d'autres posts avec des personnes ayant des problèmes sur l'appareil quand il fonctionne sur émulateur si, en raison de touches d'appareil). stackoverflow.com/questions/8682580/...
- googlegeodevelopers.blogspot.com - suggère qu'une nouvelle version est sorti aujourd'hui. Grande libération de Google 🙂
- Soulevées - code.google.com/p/gmaps-api-issues/issues/detail?id=4627
- Eh bien, je suis en utilisant cette nouvelle API, je pensais que vous étiez trop?
- Oui, à l'aide de la nouvelle. Je voudrais revenir à l'ancienne mais n'a pas l'air possible?
- Non, pas vraiment.
- Comment mettre en place rapide d'un émulateur pour Android sur Linux?
- vérifier cette mise à jour de la réponse
Vous devez vous connecter pour publier un commentaire.
Selon une discussion avec les Développeurs Android sur Google+, l'exécution de la nouvelle Carte de l'API sur l'émulateur n'est pas possible pour le moment.
(Le commentaire est de Zhelyazko Atanasov hier à 23:18, je ne sais pas comment faire un lien directement)
Aussi, vous ne voyez pas le "(via Bazar)" de la partie lors de l'exécution à partir d'un périphérique réel, et le bouton mise à jour, ouvrez le Play Store. Je suis en supposant que le Bazar est destiné à fournir des Google Play Services sur l'émulateur Android, mais il n'est pas encore prêt...
Mise à JOUR
La Google maps API v2 est maintenant installé sur le dernier système de Google images (api:19 ARM ou x86).
Ainsi, votre application devrait fonctionner avec de nouvelles images. Il n'est pas nécessaire d'installer ces fichiers.
J'ai essayé d'exécuter un Android Google Maps V2 de l'application en vertu d'un émulateur et une fois que j'ai enfin eu le Google Play Services en cours d'exécution, j'ai mis à jour mon SDK de Google Play Services, révision 4, et mon émulateur ne pas s'exécuter mon application.
J'ai maintenant travaillé sur la façon de mettre à jour mon émulateur de mon transformateur tablette. (Vous n'aurez pas besoin d'une tablette comme vous pouvez le télécharger les fichiers ci-dessous.)
J'ai utilisé Titanium Backup pour sauvegarder mes Asus Eee Pad Transformer (TF101), puis saisit le com.android.de vente et de la com.google.android.gms APK fichiers de la sauvegarde.
J'ai installé sur un émulateur configuré avec plate-forme de: 4.1.2, Niveau API: 16, PROCESSEUR Intel Atom x86) et mon Google Maps V2 application fonctionne à nouveau.
C'était tout .. aucun des autres mesures à l'égard de /system/app ont été nécessaires.
Mon application utilise uniquement l'API Google Maps, sans aucun doute, plusieurs étapes sont nécessaires si vous utilisez d'autres de Google Play services.
De nouveaux fichiers pour la dernière version de Google Play services:
com.google.android.gms-20140218.apk
com.android.vending-20140218.apk
Mêmes instructions que précédemment: Créer un nouvel émulateur avec tout CPU/ABI, un non-API Google cible (versions 10 à 19 ans de travail) et GPU désactiver l'émulation, et ensuite installer les fichiers:
Si vous êtes à la mise à niveau d'un émulateur, vous pourriez avoir besoin de désinstaller les versions précédentes par:
C'est tout.
adb uninstall com.android.vending
etadb uninstall com.google.android.gms
. Après l'installation de circuits mentionnés ci-dessus mon application fonctionne, mais je voisEGL_emulation: eglSurfaceAttrib not implemented
des messages d'avertissement dans le journal et aucune carte n'est visible dans l'application. C'est, je crois, l'émulateur/GPU question. Mon GPU estRadeon HD6870
et j'ai été en cours d'exécution Android 4.1.2 sans Api Google sur l'émulateur.J'ai passé la journée à configurer la nouvelle gmaps API (Google Maps API Android v2) sur l'émulateur Android. Aucune des méthodes de ceux que j'ai trouvé sur l'Internet a été fonctionne correctement pour moi. Mais encore, je l'ai fait. Voici comment:
Sur les autres versions je ne pouvais pas le configurer, en raison de diverses erreurs quand j'ai installé les applications nécessaires.
2) Démarrer l'émulateur et installer les applications suivantes:
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/
Des liens vers télécharger des fichiers APK. Je l'ai copié de mon appareil Android enracinée.
3) Installer Google Play Services et Google Maps sur l'émulateur. J'ai une erreur 491, si je les installer à partir de Google Play magasin. J'ai téléchargé les applications sur l'émulateur et lancez l'installation en local. (Vous pouvez utiliser
adb
pour installer ce). Des liens vers les applications:4) j'ai réussi à faire fonctionner une démo de l'échantillon sur l'émulateur après ces étapes. Voici une capture d'écran:
adb install com.google.android.apps.maps-1.apk
etadb install com.google.android.gms-2.apk
.Je vais répondre à cette question pour la deuxième fois, parce que la solution que j'ai essayé et qui ne travaillent pas au premier fonctionne maintenant, et je peux recréer les étapes pour le faire fonctionner 🙂
J'ai aussi eu le sentiment que l'absence de Google Play Store est un coupable ici, j'ai donc essayé d'installer le Google Play Store pour 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 à installer le Google Play Store et testé par le téléchargement de certains aléatoire app. Mais les cartes de l'activité de gardés en affichant le message avec le bouton "Update". Ce bouton va me prendre pour le magasin, mais là je reçois un message "élément introuvable" et des cartes ne fonctionne toujours pas. Au point que j'ai renoncé.
Hier, j'ai tiré la même application de test par accident et cela a fonctionné! J'étais très confus, mais très vite, j'ai fait un diff à partir de l'émulateur où il du travail et de nouvelles nettoyer un et j'ai trouvé deux applications sur le travail dans /data/app/répertoire: com.android.vending-1.apk et com.google.android.gms-1.apk. C'est étrange, car, quand j'ai de l'installation de Google Play Store par les directives de ces sites, je poussais Phonesky.apk, GoogleServicesFramework.apk et GoogleLoginService.apk et à un autre dossier /system/app.
De toute façon, maintenant l'Android de Google Maps API v2 est de travailler sur mon émulateur. Voici les étapes pour ce faire:
Créer un nouvel émulateur
Ce sont les paramètres qui travaillent 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 ADB install
Google Maps devrait maintenant fonctionner dans votre émulateur.
J'ai créé un (Allemand) description comment le faire fonctionner.
En gros, vous avez besoin d'un émulateur avec au moins API de niveau 9 et pas de Google Api. Ensuite, vous aurez à obtenir l'Apk depuis un enracinée appareil:
et de les installer dans l'émulateur:
Vous pouvez même exécuter le natif de l'Application Google Maps, si vous avez un émulateur avec au moins API de niveau 14 et installer en plus
com.google.android.apps.maps-1.apk
Avoir du plaisir.
J'ai essayé d'exécuter un Android Google Maps v2 sous un émulateur, et j'ai trouvé beaucoup de façons de le faire, mais aucun d'entre eux travaillaient pour moi. J'ai toujours ce message d'avertissement dans le Logcat
Google Play services out of date. Requires 3025100 but found 2010110
et quand je veux mettre à jour Google Play services sur l'émulateur ne s'est rien passé. Le problème est que de la com.google.android.gms APK n'était pas compatible avec la version de la bibliothèque dans mon kit SDK d'Android.J'ai installé ces fichiers "com.google.android.gms.apk", "com.android.des distributeurs de.apk" sur mon émulateur et mon application Google Maps v2 a bien fonctionné. Aucune des autres mesures à l'égard de /system/app ont été nécessaires.
Cette application ne fonctionnera pas à moins que vous la mise à jour de Google Play Services. Je l'ai essayé pendant tant de temps, beaucoup de temps, mais je n'ai pas la carte... Seulement un écran vide apparaît, même si j'ai modifié mon Google Play Service donné par le commentaire ci-dessous..
Vérifier votre play fichier de manifeste et de vérifier la version de code pour le fichier APK com.google.android.gms. Dans le ci-dessous, il est "3136110". Télécharger ces fichiers APK et de l'installer à partir d'une invite ms-DOS, mais avant l'installation, exécutez votre cible émulateur.
J'ai eu ces fichiers APK de ce lien.
J'ai résolu ces problèmes en faisant les étapes suivantes:
Dans L'Émulateur:
Vous devez utiliser la dernière API
Google APIs(Google Inc.)-API Level
.19
Faire le reste des choses placé dans la capture d'écran lui-même.
Clé API:
Créer de Nouveaux Clé API et Vérifiez soigneusement à propos de Google Map API clé et la Clé SHA.
Google Play Services:
Vous avez pour télécharger la dernière version de Google Play Services
com.android.vending-4.8.20.apk.Dans ce site si google play
les services n'étais pas de travail signifie que vous pouvez trouver beaucoup de sites
internet nommé
com.android.vending 4.8.20.apk
.vous pouvez lancer le Google play Services à l'aide de l'Invite de Commande
adb install com.android.vending 4.8.20.apk
.Remarque: Vous avez pour télécharger la dernière version de Google play services, car d'année en année dernière version sera mise à jour dans internet.
sortie:
Après la mise à jour de l'outil ADT 22.0.1, en raison de Android bibliothèques privées, le service Google Maps a été de donner à l'erreur et l'application s'est écrasé. J'ai donc trouvé la solution, enfin, et cela a fonctionné pour moi.
Il suffit d'installer le Google Play service de la bibliothèque et ensuite aller à
google-play-service/libproject/google-play-services_lib
dehttps://www.dropbox.com/sh/2ok76ep7lmav0qf/9XVlv61D2b
. Importez-le dans votre espace de travail. Le nettoyage de votre projet où vous souhaitez utiliser gogole-jouer-services-lib, puis 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 les Propriétés de lui-même, aller à Android et choisissez ensuite l'une des versions, puis cliquez sur ajouter, puis sélectionnez google-play-service-lib et puis appuyez sur appliquer et enfin OK.
Enfin, aller de le Projet -> Android Outils -> Android Bibliothèques de prise en charge. Accepter la licence et après l'installation de exécuter votre projet.
Cela fonctionnera très bien.
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 à Débordement de Pile question fonctionnement de Google Maps v2 sur l'émulateur Android.
À partir de l'Android SDK Manager, installez:
Extras: Google Play services
cela fonctionne pour moi, la version actuelle est 10.0.1