我有一个工作了几个月的项目,但我几天前更新了ADT插件,今天突然间项目停止了工作。如果我尝试在设备上运行它,它会在启动时立即抛出VerifyError。
(xxx是项目名称实际的替代品,因为我不允许发布它)
这种错误会重演,所以我只发一个。主要的VerifyError本身是无用的,因为它只指向主要的起始活动。
05-03 18:06:59.898: I/dalvikvm(26640): Could not find method org.osmdroid.views.MapView.enableScroll, referenced from method com.xxx.activities.MainAc.disableSwipe
05-03 18:06:59.898: D/dalvikvm(26640): VFY: replacing opcode 0x6e at 0x0005
05-03 18:06:59.898: D/dalvikvm(26640): VFY: dead code 0x0008-0010 in Lcom/xxx/activities/MainAc;.disableSwipe ()V
05-03 18:06:59.898: W/dalvikvm(26640): VFY: unable to find class referenced in signature (Lorg/osmdroid/util/GeoPoint;)
05-03 18:06:59.898: E/dalvikvm(26640): Could not find class 'org.osmdroid.util.GeoPoint', referenced from method com.xxx.activities.MainAc.displayPointNavigation
05-03 18:06:59.908: W/dalvikvm(26640): VFY: unable to resolve new-instance 575 (Lorg/osmdroid/util/GeoPoint;) in Lcom/xxx/activities/MainAc;
05-03 18:06:59.908: D/dalvikvm(26640): VFY: replacing opcode 0x22 at 0x0018
05-03 18:06:59.908: D/dalvikvm(26640): VFY: dead code 0x001a-0093 in Lcom/xxx/activities/MainAc;.displayPointNavigation (Lorg/osmdroid/util/GeoPoint;)V
05-03 18:06:59.908: W/dalvikvm(26640): Unable to resolve superclass of Lcom/xxx/overlay/MyUpmoveLocationOverlay; (584)
我认为问题是我包含osmdroid lib的方式。由于我必须更改很多osmdroid代码,所以我不想一直构建一个jar,所以我从osmdroid源创建了一个Java Project,并将osmdroid项目添加到我的Project的Classpath中。
到目前为止,这种设置就像一个魅力。我认为我自己可能已经改变了导致VerifyError的内容,所以我将项目恢复到了一个版本,它确定工作但是我得到了同样的错误。
我是否需要更改一些设置以使其重新运行,或者我是否必须重做整个设置并将osmdroid包含在jar中?