0
私はProguardを有効にし、私が使用しているすべてのライブラリに対して適切なプロガード規則を追加しました。Proguardを適用した後、ジャクソンの応答を解析してルートを持つjson応答をスキップします
ネットワークコールにRetrofitを使用し、応答を解析するためにJackson Converterを使用します。
私のJsonレスポンスにはルート値があり、これを解析するために、私は設定SerializationFeature.WRAP_ROOT_VALUE
とDeserializationFeature.UNWRAP_ROOT_VALUE
を使用します。私がプロガードを適用するまで、すべてが働いていた。
解析例外を指定せずに、フィールドはnull値として解析されます。私はジャクソンのために使用しています
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 {*;}
ある私は他の問題の多くを解決した後、この設定が出ています。
ここで問題をデバッグして理解することはできません。
:それは魅力のように働いたおかげでたくさん –