今天在撸代码的时候遇到了这么一个奇葩的错误
java.lang,NoClassDefFoundError,说是有类没有找到,心想没有找到的话在编译的时候不就会报错了吗,怎么还会等到运行的时候才报错呢,百思不得其解之下,google之,发现很多人都是说是因为ADT升级到了22后才出现的这个问题,但是按照他们说的方法也还是不起作用,还有人说是在ADT17后adt会自动地把libs下的jar包加入环境变量,所以就不要手动加入了,把之前手动加入build path中的jar包remove掉就好了,但是这种方法也是不可行的,虽然上述两种方法都没有解决我的问题,但是把他们的解决方法综合一下,然后重新检查了一下我的项目,我发现了这么一个问题,我的项目是引用了外来的library project的,而在这个项目中用到了v4的包,我自己的项目中也用到了这个包,会不会是引用包的重复而造成加载器没能正确加载所需要的类呢,于是我得到了这么一种解决问题的思路:
在自己的项目中project—->>>properties—>>>Java Build Path—>>>Order And Export,保证Android private libraries是选中的状态,然后进入你引用的library project工程,同样进入之前的路径,不勾选Android private libraries,然后Project—>>>clean all projects,再运行一下自己的工程,问题解决