如何配置 ProGuard 以尊重 Jackson 模型?

JJD*_*JJD 2 java android proguard gradle jackson

以下课程描述了我使用Jackson 2.2从 .json 文件中读取的模型。

public class Product {
    public String name;
    public int width;
}
Run Code Online (Sandbox Code Playgroud)

摇篮构建流程调用ProGuard的收缩和混淆发布版本。当我启动应用程序时出现以下错误消息:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: 
  Unrecognized field "name" (class com.example.b.c), 
  not marked as ignorable (0 known properties: ])
Run Code Online (Sandbox Code Playgroud)

如何配置 ProGuard 或对Product类进行注释以使 Jackson 仍然有效?

JJD*_*JJD 6

我必须管理我简化了问题中的示例。该问题的解决方案是在 ProGuard 中保留gettersetter,我必须在模型类中额外定义它们才能使 Jackson 工作。

-keep public class com.example.models.Product {
  public *** get*();
  public void set*(***);
} 
Run Code Online (Sandbox Code Playgroud)