mapview - map fragment android studio
Rechazar re-init en la clase con error anterior java.lang.Class<nt>: java.lang.NoClassDefFoundError (5)
Veo un registro de información en mi consola que parece un error. Está impreso en "arte", que generalmente está asociado a la memoria, pero necesito ayuda para comprender lo que significa. La clase en cuestión es mi clase MapFragment. MapFragment es una clase personalizada que creé que extiende SupportMapFragment para que pueda anular los eventos táctiles. ¿Esta clase está causando este problema y cómo puedo resolverlo?
Aquí está mi clase MapFragment
public class MapFragment extends SupportMapFragment {
private TouchableWrapper mTouchView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View originalContentView = super.onCreateView(inflater, container, savedInstanceState);
mTouchView = new TouchableWrapper(getActivity());
mTouchView.addView(originalContentView);
return mTouchView;
}
@Override
public View getView() {
return mTouchView;
}
/**
* MapOnTouchListener callback
*
* @param listener
*/
public void setMapTouchListener(TouchableWrapper.MapOnTouchListener listener) {
mTouchView.setMapOnTouchListener(listener);
}
El error que estoy recibiendo es,
Rejecting re-init on previously-failed class java.lang.Class<nt>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/chimera/Fragment;
at java.lang.Class dalvik.system.DexFile.defineClassNative(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile) (DexFile.java:-2)
at java.lang.Class dalvik.system.DexFile.defineClass(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile, java.util.List) (DexFile.java:299)
at java.lang.Class dalvik.system.DexFile.loadClassBinaryName(java.lang.String, java.lang.ClassLoader, java.util.List) (DexFile.java:292)
at java.lang.Class dalvik.system.DexPathList.findClass(java.lang.String, java.util.List) (DexPathList.java:418)
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:54)
at java.lang.Class bzi.loadClass(java.lang.String, boolean) (:com.google.android.gms:28)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at com.google.maps.api.android.lib6.impl.ez com.google.maps.api.android.lib6.impl.fi.a(android.content.Context, com.google.maps.api.android.lib6.drd.as, com.google.maps.api.android.lib6.impl.fp, java.lang.String, boolean) (:com.google.android.gms.DynamiteModulesB:177)
at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, java.lang.String, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:347)
at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:320)
at com.google.maps.api.android.lib6.impl.bq com.google.maps.api.android.lib6.impl.cp.a(com.google.android.gms.maps.GoogleMapOptions) (:com.google.android.gms.DynamiteModulesB:82)
at un com.google.maps.api.android.lib6.impl.co.a(un, un, android.os.Bundle) (:com.google.android.gms.DynamiteModulesB:139)
at boolean com.google.android.gms.maps.internal.w.onTransact(int, android.os.Parcel, android.os.Parcel, int) (:com.google.android.gms.DynamiteModulesB:107)
at boolean android.os.Binder.transact(int, android.os.Parcel, android.os.Parcel, int) (Binder.java:507)
at com.google.android.gms.dynamic.IObjectWrapper com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(com.google.android.gms.dynamic.IObjectWrapper, com.google.android.gms.dynamic.IObjectWrapper, android.os.Bundle) ((null):-1)
at android.view.View com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
at void com.google.android.gms.dynamic.zza$4.zzb(com.google.android.gms.dynamic.LifecycleDelegate) ((null):-1)
at void com.google.android.gms.dynamic.zza.zza(android.os.Bundle, com.google.android.gms.dynamic.zza$zza) ((null):-1)
at android.view.View com.google.android.gms.dynamic.zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
at android.view.View com.google.android.gms.maps.SupportMapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
at android.view.View android.rider.flex.udi.fragments.MapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (MapFragment.java:19)
at android.view.View android.support.v4.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2192)
at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment, int, int, int, boolean) (FragmentManager.java:1255)
at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment) (FragmentManager.java:1472)
at void android.support.v4.app.FragmentManagerImpl.addFragment(android.support.v4.app.Fragment, boolean) (FragmentManager.java:1691)
at android.view.View android.support.v4.app.FragmentManagerImpl.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentManager.java:3440)
at android.view.View android.support.v4.app.FragmentController.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentController.java:120)
at android.view.View android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:378)
at android.view.View android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (BaseFragmentActivityHoneycomb.java:33)
at android.view.View android.support.v4.app.FragmentActivity.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:79)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:784)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
at void android.view.LayoutInflater.parseInclude(org.xmlpull.v1.XmlPullParser, android.content.Context, android.view.View, android.util.AttributeSet) (LayoutInflater.java:1011)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:861)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
at void android.support.v7.app.AppCompatDelegateImplV9.setContentView(int) (AppCompatDelegateImplV9.java:292)
at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void android.rider.flex.udi.activity.MapActivity.onCreate(android.os.Bundle) (MapActivity.java:196)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6942)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2880)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2988)
at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1631)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410) Caused by: java.lang.ClassNotFoundException: Didn''t find class "com.google.android.chimera.Fragment" on path: DexPathList[[zip file "/data/data/com.google.android.gms/app_chimera/m/00000024/DynamiteModulesB_GmsCore_prodmnc_alldpi_release.apk"],nativeLibraryDirectories=[/data/user/0/com.google.android.gms/app_chimera/m/00000024/n/arm64-v8a, /system/lib64, /vendor/lib64]]
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
at java.lang.Class bzi.loadClass(java.lang.String, boolean) (:com.google.android.gms:34)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at java.lang.Class dalvik.system.DexFile.defineClassNative(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile) (DexFile.java:-2)
at java.lang.Class dalvik.system.DexFile.defineClass(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile, java.util.List) (DexFile.java:299)
at java.lang.Class dalvik.system.DexFile.loadClassBinaryName(java.lang.String, java.lang.ClassLoader, java.util.List) (DexFile.java:292)
at java.lang.Class dalvik.system.DexPathList.findClass(java.lang.String, java.util.List) (DexPathList.java:418)
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:54)
at java.lang.Class bzi.loadClass(java.lang.String, boolean) (:com.google.android.gms:28)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at com.google.maps.api.android.lib6.impl.ez com.google.maps.api.android.lib6.impl.fi.a(android.content.Context, com.google.maps.api.android.lib6.drd.as, com.google.maps.api.android.lib6.impl.fp, java.lang.String, boolean) (:com.google.android.gms.DynamiteModulesB:177)
at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, java.lang.String, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:347)
at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:320)
at com.google.maps.api.android.lib6.impl.bq com.google.maps.api.android.lib6.impl.cp.a(com.google.android.gms.maps.GoogleMapOptions) (:com.google.android.gms.DynamiteModulesB:82)
at un com.google.maps.api.android.lib6.impl.co.a(un, un, android.os.Bundle) (:com.google.android.gms.DynamiteModulesB:139)
at boolean com.google.android.gms.maps.internal.w.onTransact(int, android.os.Parcel, android.os.Parcel, int) (:com.google.android.gms.DynamiteModulesB:107)
at boolean android.os.Binder.transact(int, android.os.Parcel, android.os.Parcel, int) (Binder.java:507)
at com.google.android.gms.dynamic.IObjectWrapper com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(com.google.android.gms.dynamic.IObjectWrapper, com.google.android.gms.dynamic.IObjectWrapper, android.os.Bundle) ((null):-1)
at android.view.View com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
at void com.google.android.gms.dynamic.zza$4.zzb(com.google.android.gms.dynamic.LifecycleDelegate) ((null):-1)
at void com.google.android.gms.dynamic.zza.zza(android.os.Bundle, com.google.android.gms.dynamic.zza$zza) ((null):-1)
at android.view.View com.google.android.gms.dynamic.zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
at android.view.View com.google.android.gms.maps.SupportMapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
at android.view.View android.rider.flex.udi.fragments.MapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (MapFragment.java:19)
at android.view.View android.support.v4.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2192)
at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment, int, int, int, boolean) (FragmentManager.java:1255)
at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment) (FragmentManager.java:1472)
at void android.support.v4.app.FragmentManagerImpl.addFragment(android.support.v4.app.Fragment, boolean) (FragmentManager.java:1691)
at android.view.View android.support.v4.app.FragmentManagerImpl.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentManager.java:3440)
at android.view.View android.support.v4.app.FragmentController.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentController.java:120)
at android.view.View android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:378)
at android.view.View android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (BaseFragmentActivityHoneycomb.java:33)
at android.view.View android.support.v4.app.FragmentActivity.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:79)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:784)
at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
at void android.view.LayoutInflater.parseInclude(org.xmlpull.v1.XmlPullParser, android.content.Context, android.view.View, android.util.AttributeSet) (LayoutInflater.java:1011)
at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:861)
at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
at void android.support.v7.app.AppCompatDelegateImplV9.setContentView(int) (AppCompatDelegateImplV9.java:292)
at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void android.rider.flex.udi.activity.MapActivity.onCreate(android.os.Bundle) (MapActivity.java:196)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6942)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2880)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2988)
at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1631)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)
Bueno, en mi caso, invalidar caché y reiniciar no funcionó, para resolver este problema tienes que cambiar:
compileSdkVersion del 28 al 27
targetSdkVersion del 28 al 27
y también
cambiar la versión de bibliotecas como
appcompat
etc.
También tenga en cuenta que esta excepción no bloquea la aplicación, por lo que puede ignorarla si lo desea.
Intentaría limpiar y restablecer el caché.
Archivo -> Invalidar caché y reiniciar
Tuve el mismo error y bloqueo. Intenté invalidar caché y reiniciar y también intenté borrar los datos de mi aplicación en el emulador. La clave para solucionarlo fue borrar todo el sistema operativo del emulador y luego el error y el bloqueo desaparecieron. Nunca fue un problema en un dispositivo real.
Verifique esta línea
Ver originalContentView = super.onCreateView (inflador, contenedor, savedInstanceState);
java.lang.NoClassDefFoundError indica que se encontró algo en tiempo de compilación pero no en tiempo de ejecución. Tal vez solo tienes que agregarlo a Classpath.
Haga clic derecho en su proyecto y seleccione -> Compilar módulo, y luego reinicie el proyecto y debería funcionar nuevamente.