the that studio setup google example ensure enabled google-maps-android-api-2

google maps android api 2 - that - java.lang.noclassdeffounderror: com.google.android.gms.R $ styleable



google maps api key android (12)

Estoy creando una aplicación de Android usando Google Maps. aquí está el código:

MapFragActivity.java

import android.os.Bundle; import android.support.v4.app.FragmentActivity; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; public class MapFragActivity extends FragmentActivity { private GoogleMap map; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map_frag); map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) .getMap(); } }

AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.him.mapfrag_rnd" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="15" /> <permission android:name="com.him.mapfrag_rnd.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.him.mapfrag_rnd.permission.MAPS_RECEIVE" /> <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" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <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=".MapFragActivity" android:label="@string/title_activity_map_frag" > <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="my_api_key" /> </application> </manifest>

activity_map_frag.xml:

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

cuando pruebo este código me sale un error, aquí está el registro:

01-17 10:01:17.685: E/AndroidRuntime(8923): FATAL EXCEPTION: main 01-17 10:01:17.685: E/AndroidRuntime(8923): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable 01-17 10:01:17.685: E/AndroidRuntime(8923): at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source) 01-17 10:01:17.685: E/AndroidRuntime(8923): at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 01-17 10:01:17.685: E/AndroidRuntime(8923): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:272) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.Activity.setContentView(Activity.java:1835) 01-17 10:01:17.685: E/AndroidRuntime(8923): at com.him.mapfrag_rnd.MapFragActivity.onCreate(MapFragActivity.java:16) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.Activity.performCreate(Activity.java:4470) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.ActivityThread.access$600(ActivityThread.java:127) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.os.Handler.dispatchMessage(Handler.java:99) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.os.Looper.loop(Looper.java:137) 01-17 10:01:17.685: E/AndroidRuntime(8923): at android.app.ActivityThread.main(ActivityThread.java:4511) 01-17 10:01:17.685: E/AndroidRuntime(8923): at java.lang.reflect.Method.invokeNative(Native Method) 01-17 10:01:17.685: E/AndroidRuntime(8923): at java.lang.reflect.Method.invoke(Method.java:511) 01-17 10:01:17.685: E/AndroidRuntime(8923): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:986) 01-17 10:01:17.685: E/AndroidRuntime(8923): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:753) 01-17 10:01:17.685: E/AndroidRuntime(8923): at dalvik.system.NativeStart.main(Native Method)

cuando realizo algunos cambios en MapFragActivity.java, se muestra el mapa. aquí están los cambios:

package com.him.mapfrag_rnd; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import com.google.android.gms.maps.SupportMapFragment; public class MapFragActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_map_frag); SupportMapFragment fragment = new SupportMapFragment(); getSupportFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit(); } }

El cambio que he hecho se comentó en setContentView. He seguido todos los pasos requeridos y sigo obteniendo un error. si descomenta el setContentView () entonces nuevamente aparece el error.

¡¡¡Por favor ayuda!!!


  1. Utilice Android SDK Manager para descargar "google play services"

  2. importarlo a su espacio de trabajo (ruta de acceso: android-sdk root / extras / google / google_play_service / libproject / google-play-service_lib)

  3. Propiedades del proyecto -> android -> Biblioteca agregar google-play-service_lib

  4. Build path -> Order and Export check Android librerías privadas


Comprueba el archivo AndroidManifest.xml de tu proyecto google-play-services_lib. Debiera ser:

package="com.google.android.gms"


Creo que tienes que importar toda la biblioteca del Servicio de Google Play a tu IDE, no solo el .jar

intentalo ;-)


Estos dos servicios de google play se agregan a build.gradle. Funcionó para mí. Compile ''com.google.android.gms: play-services-appindexing: 8.1.0'' compile ''com.google.android.gms: play-services : 8.1.0 ''


He seguido el enlace http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html

y agregué el proyecto de la biblioteca google-play-services_lib a mi aplicación. Estuvo funcionando bien hasta ayer. Pero hoy tengo la excepción mencionada anteriormente. Es debido a la ausencia de la biblioteca de google play o porque mi proyecto no puede acceder a los archivos de la biblioteca. Reconstruí mi proyecto pero no tuvo éxito. Luego reconstruí el proyecto de la biblioteca google-play-services_lib pero no tuve esperanza. Luego probé la opción "construir todo" en eclipse y funciona bien.



Resolví el problema comprobando que los servicios de reproducción se hayan agregado correctamente y agregando estos datos en el archivo de manifiesto bajo la etiqueta de la aplicación <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />



Si está utilizando Intellij Idea,

  1. Seleccione su proyecto del panel del proyecto
  2. Presione F4 para abrir la ventana de estructura del proyecto
  3. Seleccione Módulos desde el panel izquierdo, luego presione el botón + luego seleccione "importar módulo" y vaya a " ANDROID-SDK " / extras / google / google_play_services / libproject / google-play-services_lib. Al hacer esto, este proyecto se agregará a los módulos junto con su proyecto.
  4. Seleccione su proyecto, luego seleccione "Dependencias" (es una pestaña) desde el panel derecho. Haga clic en el botón + luego "3 dependencias del módulo ..." y seleccione "google-play-services_lib".
  5. Haga clic en el botón + nuevamente y luego en "1 jarras o directorios ..." y vaya a la carpeta "/ libs" en la ruta anterior y seleccione "google-play-services.jar".
  6. Haga clic en Aceptar y cierre la ventana de estructura del proyecto.

Nota : asegúrese de no haber agregado el proyecto "google-play-services_lib" como biblioteca en "Bibliotecas" (panel izquierdo debajo de Módulos). Si es así, puede ir a " Bibliotecas y simplemente eliminarlo. La Biblioteca de Google Play no debería aparecer en las bibliotecas .

Nota 2 : puede copiar todo el directorio google-play-services_lib en su propio proyecto si desea tenerlo en control de versiones o similar.


Si está utilizando servicios divididos de Google Play (consulte aquí: https://developers.google.com/android/guides/setup#split )

Debe incluir los servicios de base play en su archivo gradle:

compile ''com.google.android.gms:play-services-base:7.5.0''

El uso de Slipt Play Services previene el error de 65k y hace que su aplicación sea más pequeña


También obtuve este error en android studio y ya había incluido los servicios de reproducción alpha 3 con gradle alpha5, lo que hice mal fue incluir multidex.

en gradle

multiDexEnabled true

y en la clase de aplicación onCreate

MultiDex.install (esto);

pero me olvidé de extender la clase de aplicación con MultiDexApplication

porque MultiDexApplication no se ha extendido, por lo que no puede incluir gms ni ninguna otra clase dex, por lo que está dando error al inicio de gms String.

Espero que this ayude


Yo tengo el mismo error. Uso Android Studio y Gradle, por lo tanto, no hay muchas cosas que configurar o mejorar. He hecho casi todas las cosas pero no funcionaron para mí. El último funciona: reemplace todo el paquete de servicios de juegos por otros más pequeños. En mi caso:

Reemplazar (en el archivo build.gradle):

compile ''com.google.android.gms:play-services:8.4.0''

por:

// Google Cloud Messaging compile ''com.google.android.gms:play-services-gcm:8.4.0'' // Google Location compile ''com.google.android.gms:play-services-location:8.4.0''