项目是从同事的电脑上直接拷贝过来的,项目里面的jar包是在项目跟下libs里面存放的。到我电脑上部署没有出现错误,运行时就报java .lang.VerifyError的异常. google过,网上大概有下面几种说法:
1. 大多数可能引用的外部jar文件出现了问题,比如说package的路径产生了问题,但该类被class文件定义了。
2. 调用了一些编译器产生异议的问题,可能是使用的sdk版本不同,但源代码是一些更老版本的定义。
3、java.lang.VerifyError是说当“校验器”检测到一个类文件虽然格式正确,但包含着一些内部不一致性或安全性问题时,抛出该错误。这个是有jdk版本的问题引起的
上面的三种方案我都尝试过,未果。
后,发现要更改添加jar包的方式,改成add library->User library的方式,然后把相应的自定义库在order and export里面勾上,问题解决。
个人认为出现这个异常的原因跟可能跟Android ADT版本有关系。因为我用的是1.9版本的而同事用的则比较古老,当然了其它的配置是一样的。
网友回复:
高版本ADT运行低版本ADT创建的工程可能抛java.lang.VerifyError异常,简单的解决方法是在.classpath文件中添加:
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
我这这样改就可以了。