拒绝对先前失败的类 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)

原文由 portfoliobuilder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

java.lang.NoClassDefFoundError 表明,在编译时发现了一些东西,但在运行时没有。也许你只需要将它添加到 Classpath 中。

右键单击您的项目并选择 -> 编译模块,然后重新启动项目,它应该会再次工作。

原文由 Hammad Ali Khan 发布,翻译遵循 CC BY-SA 3.0 许可协议

就我而言,我在设计视图中遇到了错误。我忽略了这些错误并运行了程序,我得到了上述异常。

但是,当我进入设计视图时。我在右上角看到了一个红色的错误符号。我点击了该符号并获得了错误详细信息。

错误详细信息对您来说可能有所不同,但对我来说,一个按钮的列索引超出了网格列号的范围。

我在修复这些错误后重新运行。为我工作。

原文由 Sandeep Dixit 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题