NoSuchMethodError при экспорте подписанного apk - PullRequest
0 голосов
/ 05 октября 2011

Я пытался скомпилировать reddit-is-fun , читатель reddit для Android. Если я запускаю приложение из ADT (путем отладки или просто запуска), оно будет запускаться и корректно работать на моем телефоне (HTC Desire). Однако, если я экспортирую подписанный и zipaligned пакет и установлю его, он не будет работать. LogCat показывает исключения NoSuchMethodError для Джексона . Это два файла jar, присутствующие в хранилище и добавленные в путь сборки. Я удостоверился, что у них есть те же самые версии и даже заменил их более новыми.

Я не очень знаком с использованием библиотек jar. Они «связаны» в результирующий apk как статическая библиотека связана с исполняемым файлом при компиляции C ++? Как я могу убедиться, что приложение на устройстве загрузит ту же версию, которая использовалась для компиляции? (что, скорее всего, проблема).

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Звучит так, будто обфускация Прогуарда ломает его.Попробуйте отключить Proguard для подтверждения (или добавьте Джексона в белый список в proguard.cfg)

0 голосов
/ 05 октября 2011

Я думаю, это означает, что ваши JAR-файлы неправильно переведены из формата JVM в формат Dalvik VM.Как вы знаете, Android использует другой байт-код, чем обычная настольная JVM.Вы должны преобразовать ваши JAR-файлы из байт-кода JVM в байт-код Dalvik.Попробуйте в Google "конвертировать JVM в Dalvik"

...