我将尝试在混淆后让应用程序运行。我有两个简单的类:
我错过了什么?
public class ApiUrlResponseData
{
@JsonProperty( "@links" )
List<Link> links;
public List<Link> getLinks()
{
return links;
}
}
public class Link
{
@JsonProperty( "url" )
String url;
@JsonProperty( "name" )
String name;
@JsonProperty( "mobile" )
Boolean mobile;
public Link()
{
}
public Link( String url, String name, Boolean mobile )
{
this.url = url;
this.name = name;
this.mobile = mobile;
}
public String getUrl()
{
return url;
}
public String getName()
{
return name;
}
public Boolean isMobile()
{
return mobile;
}
}
很不幸,在混淆和请求执行后,ApiUrlResponseData.getLinks()
返回 null
。
这是我试图防止数据对象被混淆的方法:
-keepclasseswithmembernames class com.companyname.android.network.data.** {
public <fields>;
protected <fields>;
<fields>;
@org.codehaus.jackson.annotate.* <fields>;
@org.codehaus.jackson.annotate.* <init>(...);
}
我错过了什么?
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to android.network.dto.Link
的错误。我需要保留名称或对类进行注释。正在检查。 - Eugen Martynov