Проверка ошибки после обновления ADT
У меня есть проект, который работал месяцами, но я обновил плагин 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-файл, поэтому я создал Java-проект из источника osmdroid и добавил проект osmdroid в Classpath моего проекта.
До сих пор эта установка работала как шарм. Я подумал, что мог сам что-то изменить, что вызвало VerifyError, поэтому я вернул проект в ревизию, где он определенно работал, но я получаю ту же ошибку.
Есть ли какие-то настройки, которые мне нужно изменить, чтобы эта работа снова заработала, или мне нужно переделать всю настройку и включить osmdroid в качестве фляги?
1 ответ
Сделайте OSMDroid проектом библиотеки Android и добавьте его в качестве библиотеки в основной проект приложения.