Android: java.lang.NoClassDefFoundError: com.google.android.gms.R $ styleable
Mi código de actividad
package com.example.testmap; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; import com.google.android.gms.maps.SupportMapFragment; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
Código de archivo xml
- Android Pluralización no funciona, necesita ayuda
- ¿Cómo obtener vistas incluidas con Android Databinding?
- Utilice símbolo especial (<,>) en diseño de diseño en Android
- ¿Por qué usamos xml?
- ¿Cómo acceder a <item> desde un recurso <string-array> en un XML android?
<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginRight="150dp" class="com.google.android.gms.maps.SupportMapFragment" /> </RelativeLayout>
Y código manifiesto
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="17" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <permission android:name="android.os.Bundle.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.testmap.MainActivity" android:label="@string/app_name" > <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="API_KEY_FROM_GOOGLE_API_CONSOLE" /> </application>
Pero estoy recibiendo error
FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source) at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source) at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) at android.view.LayoutInflater.inflate(LayoutInflater.java:408) at android.view.LayoutInflater.inflate(LayoutInflater.java:320) at android.view.LayoutInflater.inflate(LayoutInflater.java:276) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:209) at android.app.Activity.setContentView(Activity.java:1657) at com.example.testmap.MainActivity.onCreate(MainActivity.java:13) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) at android.app.ActivityThread.access$1500(ActivityThread.java:117) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3687) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) at dalvik.system.NativeStart.main(Native Method)
- ¿Cómo declarar varios atributos estilables con el mismo nombre para diferentes etiquetas?
- Animación flotante suave con traducción en XML
- Collapsing ToolBar Layout siempre Colapsar si Mostrar PopUp Elemento de menú RecyclerView
- RecyclerView Varias vistas de disposición en una clase de adaptador
- Android: conflicto de ID cuando se crean 3 pestañas o más
- Sintaxis de sentencias condicionales en el diseño XML de Android
- ¿Cómo extender ImageButton correctamente?
- Cómo diseñar o diseñar correctamente un cajón de navegación de Android
1. Intente eliminar esta línea:
class="com.google.android.gms.maps.SupportMapFragment"
Desde el fragmento en el archivo XML, no debería estar allí.
2. Cambie este permiso:
<permission android:name="android.os.Bundle.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
a esto:
<permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
Si com.example.mapdemo
es su paquete de proyecto. Si no lo cambia a su paquete de proyecto en este permiso y esto:
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
¿Ha copiado google-play-services.jar en lugar de enlazar con el proyecto google-play-services_lib?
Siga este procedimiento cuidadosamente: https://developers.google.com/maps/documentation/android/start
Intente importar el proyecto desde android sdk: / extras / google / google_play_services_libproject / google_play_services_lib en su espacio de trabajo sin añadir ningún lib de lib / folder en su aplicación.
Después de hacer esto, agréguelos en: proyecto> propiedades> android> libs add
- SwipeRefreshLayout de la lib de soporte. V21 no funciona con contenido estático
- Activar la animación de salida predeterminada de la actividad