我在发布版本
的android改造版中遇到了崩溃Last parameter must be of type Callback<X> or Callback<? super X>.
at retrofit.RestMethodInfo.methodError(Unknown Source)
at retrofit.RestMethodInfo.parseResponseType(Unknown Source)
at retrofit.RestMethodInfo.<init>(Unknown Source)
at retrofit.RestAdapter.getMethodInfo(Unknown Source)
at retrofit.RestAdapter$RestHandler.invoke(Unknown Source)
我从这个参考文献中Proguard issue while using GSON尝试了Proguard规则 https://github.com/square/retrofit/issues/372但它无效
答案 0 :(得分:0)
好吧,看起来你有两个选择:
1)将所有反序列化和序列化模型移动到特定包中,并在proguard-rules.pro
中添加完整的包名称:
e.g.
-keep class com.mycompany.myproject.mydata.model.** { *; }
然后它会起作用,因为这些文件不会被预测。
2)您可以在模型的数据成员中使用@SerializedName
和@Export
注释,如下所示:
public class KeyValue {
@SerializedName("Key")
@Expose
private String key;
@SerializedName("Value")
@Expose
private String value;
public String getKey() {
return key;
}
public String getValue() {
return value;
}
}
然后你甚至可以预测模型。
希望它会有所帮助!!!