Я включил Proguard и добавил правильные правила proguard для всех библиотек, которые я использую.После применения Proguard, Джексон пропустил для разбора ответа json с корнем
Я использую Retrofit для сетевых вызовов и конвертер Jackson для анализа ответов.
Мои ответы Json имеют значения корня, чтобы разобрать это, используя Jackson I, используйте настройки SerializationFeature.WRAP_ROOT_VALUE
и DeserializationFeature.UNWRAP_ROOT_VALUE
. Все работало, пока я не применил пролога.
Без каких-либо исключений синтаксического анализа поля анализируются как нулевые значения.
правило Proguard я использую для Джексона является
-keepnames class com.fasterxml.jackson.** { *; }
-dontwarn com.fasterxml.jackson.databind.*
-keepattributes *Annotation*,EnclosingMethod,Signature
-keep class org.codehaus.** { *; }
-keepclassmembers public final enum
org.codehaus.jackson.annotate.JsonAutoDetect$Visibility {
public static final org.codehaus.jackson.annotate.JsonAutoDetect$Visibility *;
}
-keepclasseswithmembers class com.jombay.vger.rx.resources.** {
public protected private <init>(...);
public void set(*);
public ** get*();
}
-keepclasseswithmembers public class com.jombay.vger.retrofit.resources.** {
public protected private <init>(...);
public void set(*);
public ** get*();
}
-keepclasseswithmembers public class com.jombay.vger.utils.** {
public protected private <init>(...);
}
-keepclassmembers class * {
@org.codehaus.jackson.annotate.* *;
}
-keep class com.fasterxml.jackson.databind.ObjectMapper {*;}
-keep class com.fasterxml.jackson.databind.ObjectWriter {*;}
Я пришел с этой конфигурацией после решения много других вопросов.
Невозможно отладить и понять проблему здесь.
@ т-Neidhart: Большое спасибо, что работал как шарм –