java.lang.NoClassDefFoundError 错误解决思路

  Process: com.oppo.reader, PID: 20472
    java.lang.NoClassDefFoundError: com.zhangyue.iReader.PDF2.ui.PDFCatalogView$PageChangedListener
        at com.zhangyue.iReader.PDF2.ui.PDFCatalogView.show(PDFCatalogView.java:176)
        at com.zhangyue.iReader.PDF2.ui.PDFCataWindow.show(PDFCataWindow.java:56)
        at com.zhangyue.iReader.PDF2.ui.ActivityPDF2.showChapList(ActivityPDF2.java:1556)
        at com.zhangyue.iReader.PDF2.ui.ActivityPDF2.access$3100(ActivityPDF2.java:143)
        at com.zhangyue.iReader.PDF2.ui.ActivityPDF2$9$1.run(ActivityPDF2.java:882)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:171)
        at android.app.ActivityThread.main(ActivityThread.java:5720)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)

这个是错误日志,说类找不到。但是PDFCatalogView 这个类都可以找到,里面的一个子类怎么可能找不到呢?

因为pdf 是通过android 插件框架加载的,那么就去插件加载框架里面,打断点,看找class 的时候,为什么找不到。
结果发现,不是com.zhangyue.iReader.PDF2.ui.PDFCatalogView$PageChangedListener 这个类找不到,而是他继承的子类,找不到。我去找了下,果然没有。

好吧,有时候,说一个类找不到,可能不是这个类找不到,而是这个类依赖的类找不到。注意这个坑啊。

posted @ 2018-09-17 18:23  有点理想的码农  阅读(6256)  评论(0编辑  收藏  举报