Andiord签名apk:Jackson ObjectMapper为包含List的对象返回null

时间:2017-03-02 11:46:23

标签: android json jackson objectmapper signed-apk

My Rest API以Json字符串格式返回以下对象的实例:

i = str(datetime.datetime.now())

我的Android应用尝试使用以下代码反序列化此结果:

public class ObjectWithList implements Serializable {
    private long id;
    private String name;
    private List<String> contacts;
}

在debug apk中,ObjectMapper能够成功地将JSON字符串反序列化为此对象实例,并且列表数据完好无损。但是,在签名的apk中,返回的对象包含空列表。即使名称为空。 ObjectMapper没有例外。为什么这不起作用? 返回没有任何列表的任何其他对象的其他API将被反序列化而没有任何问题。为什么包含列表的对象不起作用?

我查了很多SO帖子,但找不到任何输入来解决这个问题。 非常感谢任何提示/指示。

此致 Shobhana

1 个答案:

答案 0 :(得分:0)

  

在debug apk中,ObjectMapper能够成功地将JSON字符串反序列化为此对象实例,并且列表数据完好无损。但是,在签名的apk中,返回的对象包含空列表

我怀疑您正在使用ProGuard,默认情况下,它已针对调试版本禁用。您可以通过在minifyEnabled false中设置build.gradle或从ProGuard中排除某些类来为已签名的帐户停用它。