小心android-support-v4.jar版本混乱造成的NoClassDefFoundError

当你的项目出现以下红色提示的时候,要小心了,因为很可能因为这个错误而导致解释不通的异常出现。

Found 2 versions of android-support-v4.jar in the dependency list,but not all the versions are identical (check is based on SHA-1 only at this time).

这个错误是因为导入的某个jar包版本跟第三方库的jar版本不一致造成的。

最常见的是android-support-v4.jar这个jar文件,一般我们自己的项目会用到,而第三方库往往也会用到,如果这两个jar的版本不一致,就会出现问题(往往编译能通过)。

以下是我运行之后遇到的异常:

java.lang.NoClassDefFoundError: com.jcodecraeer.devandroid.MainActivity

NoClassDefFoundError是指类型未找到,但是我很确信这个类是绝对ok的。如果报出这个异常你按照常理去找错误会浪费你很多时间,而且解决不了问题。

其实我们只要将两个android-support-v4.jar都用一个就行了,删除自己项目中的,把第三方库中的jar copy进来,或者反过来也行。

不得不说,有时候开发anroid 真的很让人抓狂、、、