2018-09-26 NoClassDefFoundError

最近遇到的一个困扰了我一段时间的bug。这个bug的起因是我当前项目中使用了一段摄像头扫描框的代码,而我每次点击启动摄像头按钮是程序崩溃报错,错误的具体信息是:

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mining.app.zxing.view.ViewfinderView" on path: DexPathList[[zip file "/data/app/包名-1/base.apk", zip file "/data/app/包名-1/split_lib_dependencies_apk.apk", zip file

其实关于这个异常我之前有过了解,还专门和ClassNotFound异常做过比较。
NoClassDefFoundError这个异常从字面意思来说就是在程序中使用了未定义的class文件,也就是在程序编译打包的阶段,这个class没有被编译,所以在调用到这个class的时候就会出现错误。于是我以为是我引用的jar包没有被打包进去,遂百度。尝试了许多种方法,包括将app下的build删除,将.gradel删除等等方法,结果都没有用。
虽然这些解决方案对我来说没有起作用,但是我还是从这些方法中得到了另一个思路,那就是我一直以为是我的jar包错了,而没有想是不是代码错误,而编译器没有提示错误(android studio经常会出现这个问题)。后来我仔细看了出问题的文件,发现其实一个自定义的view,那么我想既然自定义了view便一定有使用的地方。于是我回头看了布局文件,找到了这个view被使用的地方,果然发现了问题。由于我的布局是直接复制之前项目的,所以路径还是之前项目的路径,而由于我的不仔细加上IDE没有提示导致这个布局是无法被加载的。但是其实这个class文件有被编译,只是我布局文件中引用的不对,所以会报NoClassDefFoundError这个错误。
以后一定要仔细仔细再仔细。。。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,007评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,509评论 2 59
  • 今早看升国旗起得太早,下午涵在宾馆呼啦睡到4点钟。樊登读书会北京书友发来微信,晚上请我们吃饭。有大餐吃,涵...
    书海琴声阅读 2,976评论 0 1
  • 我从梦境中醒来,阳光已缓缓离开了我的窗前。我擦拭着梦里不小心落下的泪水,冬日的寒冷连同伤感占据了整个房间。我希望快...
    玛诺奇朵的爱情阅读 1,216评论 0 0

友情链接更多精彩内容