java.lang.NoClassDefFoundError 錯誤解決思路
阿新 • • 發佈:2018-12-10
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 這個類找不到,而是他繼承的子類,找不到。我去找了下,果然沒有。
好吧,有時候,說一個類找不到,可能不是這個類找不到,而是這個類依賴的類找不到。注意這個坑啊。