63 votes

Google map signé clé api erreurs dans Android

Quand je suis passé de mon debug carte clé de mon signée de la carte de clé de mes cartes d'arrêt de travail. J'obtiens les erreurs suivantes dans le logcat:

09-03 18:18:04.112: WARN/System.err(4073): IOException processing: 26
09-03 18:18:04.112: WARN/System.err(4073): java.io.IOException: Server returned: 3
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
09-03 18:18:04.112: WARN/System.err(4073):     at java.lang.Thread.run(Thread.java:1019)

J'ai vérifié tout, des autorisations et de la bibliothèque sont en place. J'ai recréé le roussi clé et pas de chance.

Des idées?

84voto

Sagar Hatekar Points 3187

J'ai eu le même problème et j'ai pensé que ce n'était pas toute réponse utile autour sur l'internet, donc en espérant que cela devrait aider tout le monde dans l'avenir.

Lors de l'utilisation d' GoogleMaps for Android, vous avez besoin de deux clés - debug et release.

Le "debug" la clé est un terme trompeur. Cette clé est également pour être utilisé lorsque vous développez l'application dans Eclipse. Donc, essentiellement, utilisez la clé de débogage pour le développement, les tests, le débogage.

Lorsque vous êtes prêt à lancer l'application sur le Marché, définir l' android:debuggable="false" dans la AndroidManifest.xml et utiliser la signature de la clé API.

Lors de l'utilisation de la signature de la clé API, l' MapView sera affiché UNIQUEMENT lorsque l'application est installée à partir de l' Android Market. Ainsi, l'installation de l'application à partir de l' Eclipse (Exécuter en tant Que, Debug, etc) ou de la ligne de commande (adb install) ne montrera pas le MapView. Rassurez-vous, une fois que l'application est sur le Marché - vous de le télécharger et de l' MapView .

Avec la signature de la clé API, si vous déployez l'application à partir de l'Eclise, vous obtiendrez un "Serveur a renvoyé 3, IOProcessing Exception 26" comme un avertissement - juste l'ignorer.

Remarque: en outre, il n'y a pas de dupliquer les instances de la même MapView. Si votre application a besoin "x" pas de. d' MapViews, de générer des "x" pas de. de nouveaux signé des touches (une pour chaque MapView) depuis GoogleMaps a une limite de requête pour un seul MapView de l'instance.

Pour obtenir les clés, suivez les étapes pour Obtenir des clés API GoogleMaps sur Android.

Amusez-Vous Bien!

Mise à JOUR:

Le lien ci-dessus pour l'obtention des clés api est maintenant obsolète procédure. Consultez l'Obtention des clés API GoogleMaps API Android v2 aller de l'avant.

3voto

rohit mandiwal Points 4883

Enfin Son fixe.

Je suis à l'aide d'une machine Windows, donc j'ai simplement C:\Users\rohit\.android et supprimé debug.keystore et default.keyset1 une fois que c'est fait, je suis allé à Eclipse et appliqué une nouvelle version de mon projet et de son fait!

2voto

pegausbupt Points 243

Signé carte clé est utilisée pour la libération de l'app. Ainsi, vous obtiendrez des infos. si vous déboguer l'application via le port USB-captif signé avec la carte-clé. Revenir à déboguer carte clé si vous souhaitez déboguer l'application, et de le remplacer avec de l'signé une carte de clé avant de lancer une mise à jour ou une nouvelle version.

2voto

Estrella Points 21

J'ai eu le même problème. Dans mon cas, ce que je faisais de mal a cela. J'ai écrit la commande keytool comme ceci:

keytool -list -keystore debug.keystore ...

au lieu de:

keytool -list -keystore ~\.android\debug.keystore ...

Je n'étais donc pas la mise à jour de l'Éclipse du fichier de clés avec mes empreintes digitales.

J'espère que cela aide quelqu'un :)

1voto

CJ Villa Points 13

J'ai juste rencontré exactement le même problème.

Il n'y a pas de code écrit par l'utilisateur qui lance l'Exception: il est généré dans l'Éclipse logcat et le résultat est que vous ne voyez pas la carte de Google, les carreaux. Comme Jen, je regénérées à la clé, en vain.

La plate-forme Android 3.2, l'appareil est l'Asus transformer, la connexion est en WiFi.

Pour info mon Android 2.2 application fonctionne très bien, la récupération de la carte sur un Droid de plus de 3G.

Voici la solution à mon problème, j'espère que ça aide Jen:

Dans mon cas, si j'installe la version sur le Transformateur à l'aide de la "Debug" Eclipse icône, avec le Transformateur USB-captif, la carte est en échec, comme décrit ci-dessus (pour info c'est une procédure que j'ai utilisé avec succès à de nombreuses reprises avec Android 2.2 et d'autres appareils).

J'ai donc essayé ceci à la place: j'utilise Eclipse Fichier|Exporter... possibilité de créer une version de l'APK, et ensuite installer APK sur le Transformateur à l'aide de son Asus Sync application. Tout est très bien. Les tuiles de carte apparaît.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X