Ошибка при работе с библиотекой Джексона после обфускации с использованием Proguard

после просмотра всех видов запросов, связанных с проблемами с обфускацией с помощью Proguard, я дошел до того момента, когда мне кажется, что я могу быть единственным человеком, имеющим эту конкретную проблему. Следовательно, пост.

У меня есть довольно стандартное приложение для Android, в котором для обмена данными используются вызовы REST на основе JSON. Я использую библиотеку Jackson для анализа данных JSON. Все работало безупречно, пока мы не решили включить обфускацию для наших релизных сборок с помощью Proguard.Разобравшись с целым миром проблем, связанных с обратным вызовом, я наконец столкнулся с проблемой, связанной с библиотекой Джексона.

в основном строка ObjectMapper om = new ObjectMapper () - просто не работает! Я продолжаю получать следующую ошибку в этой строке:

Caused by: java.lang.ExceptionInInitializerError
    at org.codehaus.jackson.map.ObjectMapper.<clinit>(Unknown Source)
    ... 8 more
Caused by: java.lang.NullPointerException
    at org.codehaus.jackson.map.introspect.VisibilityChecker$Std.<init>(Unknown Source)
    at org.codehaus.jackson.map.introspect.VisibilityChecker$Std.<clinit>(Unknown Source)
    ... 9 more

После прочтения множества других сообщений, связанных с включением внешних библиотек, с указанием proguard игнорировать классы библиотеки Джексона, включения и выключения оптимизации и сужения флагов, я сейчас просто невежественен .

Различные вещи, которые я включил в свой файл proguard.cfg ради Джексона -

-dontskipnonpubliclibraryclassmembers
-dontoptimize
-dontshrink
-libraryjars xtraLibs/joda-time-1.6.2.jar;xtraLibs/xml-apis.jar;xtraLibs/jsr311-api-0.8.jar;xtraLibs/stax2-api-3.0.0.jar;xtraLibs/httpmime-4.0.1.jar

среди них я переключил dontoptimize и dontshrink флаги. Однако результат всегда был одинаковым.

За все время, которое я потратил на решение этой проблемы, я был поражен и восхищен усилиями, вложенными в библиотеку Proguard. Просто когда что-то не работает, они немного запутываются .

Версия Proguard - 4.6

20
задан anirvan 6 December 2011 в 18:54
поделиться