java.lang.VerifyError解决方案 Android
java.lang.VerifyError解决方案 Android
今日竹石 发表于4年前
java.lang.VerifyError解决方案 Android
  • 发表于 4年前
  • 阅读 15523
  • 收藏 1
  • 点赞 0
  • 评论 0

今天遇到这样一个bug:

java.lang.VerifyError: 
	at android.support.v4.view.ViewPager.infoForAnyChild(ViewPager.java)
	at android.support.v4.view.ViewPager.populate(ViewPager.java:1044)
	at android.support.v4.view.ViewPager.populate(ViewPager.java:880)
	at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1374)
	at android.view.View.measure(View.java:12723)
	at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:594)
	at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:376)
	at android.view.View.measure(View.java:12723)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4724)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
	at android.view.View.measure(View.java:12723)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4724)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1378)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:660)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:553)
	at android.view.View.measure(View.java:12723)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4724)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
	at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2109)
	at android.view.View.measure(View.java:12723)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1064)
	at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2453)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:148)
	at android.app.ActivityThread.main(ActivityThread.java:4503)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:511)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:830)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
	at dalvik.system.NativeStart.main(Native Method)

网上大概有下面几种说法: 

 

1. 大多数可能引用的外部jar文件出现了问题,比如说package的路径产生了问题,但该类被class文件定义了。

2. 调用了一些编译器产生异议的问题,可能是使用的sdk版本不同,但源代码是一些更老版本的定义。

3、java.lang.VerifyError是说当“校验器”检测到一个类文件虽然格式正确,但包含着一些内部不一致性或安全性问题时,抛出该错误。这个是有jdk版本的问题引起的

 

有人说通过更改添加jar包的方式,可以解决。把add library改为User library的方式,然后把相应的自定义库在order and export里面勾上,并且注意把自定义包放在android包前面,问题解决。

 

个人认为出现这个异常的原因跟可能跟Android ADT版本有关系。

 

实际上就是,高版本ADT运行低版本ADT创建的工程可能抛java.lang.VerifyError异常,简单的解决方法是在.classpath文件中添加:
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>



共有 人打赏支持
粉丝 42
博文 228
码字总数 181721
×
今日竹石
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: