• eclipse中 NoclassdefFoundError错误的分析


     在我学习侧边栏菜单栏学习的时候。接触到library的引用。再运用过程中一直出现了一个错误,那就是  NoclassdefFoundError。

    发现这个错误的时候我的第一反应就是,难道我没有在清单文件中注册么,我检查了下, 结果不是的。

    我上网查了,有人说是v4包冲突导致的,我就反复的去不断的Remove v4包,然后添加v4包。始终没有解决。

    后来我发现我Remove的v4包的地方搞错了。应该是Remove lib目录下的v4包。才能让错误消失。。最后我解决了问题,

    然后我们来讨论为什么会产生这样的后果。最终还是library中的V4包与项目中的V4包是不匹配的。gooole发布了很多版本的V4包。所以

    不同的项目中V4包不同时很正常的。检察V4包是否相同的办法是,查找这个文件的MD5值,如果一样的证明这两个文件是一样的。

    如果再项目中出现V4包不匹配的时候也需要检查这个文件。

    有时候我们出现错误但是再logcat中没有提示,这时候我们可以在Window目录中promble,这里会显示所有的错误。

      下面我们来讨论这个lib目录下的V4包和Android Dependencies目录下V4包的区别

    在ADT17之前,如果要在Android项目中引入外部JAR包,这种方式是正确的,只需在项目属性的Java Build Path中选择Add External JARs,然后选择相应JAR包即可。

    但是,在升级到ADT17之后,Android项目下多出了一个Android Dependencies目录,之前通过Add External JARs加入的jar包依然出现在Referenced Libraries目录之下,但是似乎已经被弃用,虽然没有提示任何错误,但是在运行时会抛出ClassNotFoundException。

    解决方法是将JAR包加入到Android Dependencies下,其中一个默认引入目录是libs,因此只要将JAR包复制该目录下。

  • 相关阅读:
    字节面试 抖音/火山高级后台开发工程师
    面试总结 缓存Redis
    腾讯面试 WXG 微信支付核心业务应用工程师
    富途面试 基础组件Java开发
    mybatis lombok 报错: java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor
    十进制转十六进制
    2020年第11届蓝桥杯C/C++B组 第二轮省赛
    辗转相除法
    2020年第11届蓝桥杯C/C++B组 第一轮省赛
    2020第十一届蓝桥杯大赛软件类国赛题目 C/C++ B 组
  • 原文地址:https://www.cnblogs.com/taochen-go/p/4973820.html
Copyright © 2020-2023  润新知