varios studio puntos markeroptions marcar marcadores marcador google example eventos custom color cambiar agregar android crash maps sample google-maps-android-api-2

studio - API de Android de Google Maps v2-Fallos de código de muestra



marcar puntos en google maps api (8)

Estoy intentando que funcione el código de muestra de Android ''Google Maps Android API v2''. Consigo el proyecto construido sin errores. Sin embargo, cuando intento ejecutar la aplicación en mi Galaxy Nexus (conectado con usb a mi computadora portátil), la aplicación se bloquea de inmediato.

  • Rellené mi propia clave API de Maps en el AndroidManifest.xml
  • Construí contra Android 4.1.2

Este es el registro:

Unable to resolve superclass of Lcom/example/mapdemo/BasicMapActivity; (66) Link of class ''Lcom/example/mapdemo/BasicMapActivity;'' failed Could not find class ''com.example.mapdemo.BasicMapActivity'', referenced from method com.example.mapdemo.MainActivity.<clinit> VFY: unable to resolve const-class 108 (Lcom/example/mapdemo/BasicMapActivity;) in Lcom/example/mapdemo/MainActivity; VFY: replacing opcode 0x1c at 0x000d Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/example/mapdemo/MainActivity; Class init failed in newInstance call (Lcom/example/mapdemo/MainActivity;) Shutting down VM threadid=1: thread exiting with uncaught exception (group=0x41ac9930) FATAL EXCEPTION: main java.lang.ExceptionInInitializerError at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at android.app.Instrumentation.newActivity(Instrumentation.java:1054) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5039) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapActivity at com.example.mapdemo.MainActivity.<clinit>(MainActivity.java:97) ... 15 more

¿Alguien tiene una pista sobre cómo resolver esto o lo que podría estar haciendo mal?



  1. Pruebe el mismo código de muestra en el nuevo espacio de trabajo.

  2. Incluso puede copiar y pegar el proyecto de mapa de muestra y el proyecto lib-services / google play services (/ extras / google / google_play_services / libproject / google-play-services_lib) y pegarlo en el nuevo espacio de trabajo.

  3. Después de donot, olvide agregar el ARCHIVO DE JAR REQUERIDO DEL SDK. ("android-support-v4.jar" se encuentra en "/extras/android/compatibility/v4/android-support-v4.jar" debajo de la sección "android-sdk".)

Esto sucede debido a una gran confusión sobre cómo importar proyectos. Los documentos https://developers.google.com/maps/documentation/android/intro#sample_code dicen que no debe seleccionar "Copiar proyectos en el espacio de trabajo" en ningún punto y para obtener las muestras en ejecución es lo que debe cumplir. No seleccione esta opción para los servicios de juego y las muestras; déjelos donde están.

Después de importar ambos, compruebe lo siguiente:

  1. Haga clic derecho en el proyecto MainActivity y elija propiedades
  2. Vaya a Android y asegúrese de ver una marca de verificación verde junto a google-play-services-lib (la biblioteca de servicios de juego nunca debe agregarse como un jarrón, sino que debe agregarse como una biblioteca de Android)
  3. Vaya a Java Build Path e importe un jar externo (android-support-v4.jar) en la sección de bibliotecas
  4. [IMPORTANTE] Vaya a Ordenar y exportar en la ruta de desarrollo de Java y asegúrese de que android-support-v4.jar tenga una marca al lado (no ocurrirá de manera predeterminada y es por eso que está viendo el error que menciona) en la cima)
  5. Asegúrate de limpiar y construir el proyecto después de realizar cambios, para no terminar tratando de arreglar las cosas que funcionan, pero simplemente no fueron empujados.

Me enfrenté al mismo problema y no pude resolverlo. Finalmente, tomé la carpeta de proyectos de muestra de otra máquina, la copié en la mía y cargué el nuevo proyecto que tomé de la otra máquina. Entonces todo funciona bien. Intenté rastrear el problema comparando 2 proyectos de muestra, pero no pude. De todos modos, los nuevos proyectos de muestra que tomé de la otra máquina están funcionando bien.


Siga la hoja de cuna muy, muy cuidadosamente:
https://docs.google.com/document/pub?id=19nQzvKP-CVLd7_VrpwnHfl-AE9fjbJySowONZZtNHzw

En particular, creo que necesitas:

  • Importe la fuente real para el proyecto "google-play-services_lib" y vincúlelo como una biblioteca de Android .
    • Haga esto a través de Proyecto -> Propiedades -> Android -> Biblioteca, Agregar -> google-play-services_lib (puede hacer clic derecho en su proyecto y seleccionar Propiedades, luego seleccionar Android).
    • No lo agregue como un proyecto dependiente a través de "Java Build Path" para su proyecto, que no funcionó para mí.
  • Agregue google-play-services.jar y android-support-v4.jar en una carpeta "libs" en el proyecto de muestra y agréguelos como "JAR externos externos" en "Crear ruta -> Configurar ruta de compilación -> Bibliotecas" .

Descubrí que este segundo paso era necesario porque estaba cometiendo exactamente el mismo error que usted al intentar usar el código de muestra. El primer paso fue necesario para evitar un NoClassDefFoundError en com.google.android.gms.R$styleable en mi proyecto real.

También necesitaba hacer una compilación limpia y desinstalar la aplicación del dispositivo (de un intento de prueba anterior) antes de que funcionara el código de muestra.


Siga las instrucciones de código de muestra siguiente por google.

Salta en la sección "4" y sigue las instrucciones a continuación:

  • Agrega una nueva carpeta a tu proyecto llamado "libs"
  • Copie el formulario google-play-services.jar:

    "android-sdk-folder / extras / google / google_play_services / libproject / google-play-services_lib / libs"

    a la carpeta "libs" -> haga clic con el botón derecho en este contenedor en esta carpeta -> Crear ruta -> Agregar para crear ruta.

  • Copie la forma android-support-v4.jar:

    "android-sdk-folder / extras / android / support / v4"

    a la carpeta "libs" -> haga clic con el botón derecho en este contenedor en esta carpeta -> Crear ruta -> Agregar para crear ruta.

Donde "android-sdk-folder" usualmente se ve como: "C: / Users / User_Name / android-sdks"


Tuve el mismo problema, hice lo siguiente para solucionar el problema.

  1. Ir a "Propiedades" del proyecto.
  2. Seleccione "Java Build Path"
  3. Seleccione la pestaña "Ordenar y exportar"
  4. Debería ver las rutas y dependencias del proyecto seleccionado "src" y "gen" aquí.

El orden en que se enumeraron fue primero "src" y luego "gen" ruta Los cambio, de modo que la carpeta "gen" se compile antes de "src"

LUEGO "Revise" cada uno de los artículos listados

vea: NoClassDefFoundError para el código en una biblioteca Java en Android


Tuve mucho el mismo problema. El archivo ''import-summary.txt'' tenía la respuesta. En mi caso, había importado el proyecto eclipse en una ruta con un espacio en la ruta de acceso. Esto causa un problema con el asistente. Creado nuevo camino. Proyecto re-importado. Luego construir / reconstruir proyecto. No hay problemas.