Отклонение повторного инициализации по ранее не пройденному классу java.lang.Class <nt> : java.lang.NoClassDefFoundError

Я вижу информационный журнал в моей консоли, который выглядит как ошибка. Он напечатан из "искусства", которое обычно связано с памятью, но мне нужна помощь, чтобы понять, что это значит. Рассматриваемый класс - это мой класс MapFragment. MapFragment - это пользовательский класс, созданный мной, который расширяет SupportMapFragment, чтобы я мог переопределять события касания. Этот класс вызывает эту проблему, и как я могу решить?

Вот мой класс 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);
    }

Я получаю ошибку,

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)

Ответ 1

java.lang.NoClassDefFoundError указывает, что что-то было найдено в compiletime, но не во время выполнения. Возможно, вам просто нужно добавить его в Classpath.

Щелкните правой кнопкой мыши на своем проекте и выберите → Компилировать модуль, а затем заново запустите проект, и он должен снова работать.

Ответ 2

Я бы попробовал очистить и сбросить кеш.

Файл → Недействительный кэш и перезагрузка

Ответ 3

У меня такая же проблема. решение легко. используйте последнюю версию библиотеки com.android.support.

Ответ 4

Ну, в моем случае, Invalidate Cache и перезапуск не работали, чтобы решить эту проблему, вы должны изменить:

compileSdkVersion от 28 до 27

targetSdkVersion от 28 до 27

а также изменить версию библиотеки, как appcompat и т.д.

Также обратите внимание, что это исключение не приводит к сбою приложения, поэтому вы можете игнорировать его, если хотите.

Ответ 5

Приложение Clean Project и Run снова заработало для меня.

Ответ 6

У меня была такая же ошибка и сбой. Я попробовал Invalidate Cache и перезапустить, а также попытался очистить данные моего приложения на эмуляторе. Ключом к его исправлению было стирание всей ОС эмулятора, а затем ошибка и сбой исчезли. Это никогда не было проблемой на реальном устройстве.

Ответ 7

Перепроверьте эту строку

View originalContentView = super.onCreateView(inflater, container, saveInstanceState);