• 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包复制该目录下。

  • 相关阅读:
    阮一峰的网络日志 算法
    Problem 2184 逆序数还原
    vs项目中使用c++调用lua
    多例模式
    关于O_APPEND模式write的原子性
    清醒
    编译时,遇到Couldn't build player because of unsupported data on target platform的解决方式
    把JavaScript和CSS放到外部文件里
    SSM框架——具体整合教程(Spring+SpringMVC+MyBatis)
    MMORPG网页游戏斩仙录全套源代码(服务端+client)
  • 原文地址:https://www.cnblogs.com/taochen-go/p/4973820.html
Copyright © 2020-2023  润新知