如何解决Proguard 不与获得 NPE 的 jackson 合作
我最近在我的项目中添加了 jackson 库
实现'com.fasterxml.jackson.core:jackson-databind:2.10.1'
我尝试过的 Proguard 设置
# Jackson
-keep @com.fasterxml.jackson.annotation.JsonIgnoreProperties class * { *; }
-keep class com.fasterxml.** { *; }
-keep class org.codehaus.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepclassmembers public final enum com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility {
public static final com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility *;
}
# General
-keepattributes SourceFile,LineNumberTable,*Annotation*,EnclosingMethod,Signature,Exceptions,InnerClasses
来自here
还尝试了此线程中所述的解决方案 #27687128
也尝试过
# Proguard configuration for Jackson 2.x
-keep class com.fasterxml.jackson.databind.ObjectMapper {
public <methods>;
protected <methods>;
}
-keep class com.fasterxml.jackson.databind.ObjectWriter {
public ** writeValueAsstring(**);
}
-keepnames class com.fasterxml.jackson.** { *; }
-dontwarn com.fasterxml.jackson.databind.**
来自杰克逊文档here
// It is storing the data in realm in abc.java
ObjectMapper Obj = new ObjectMapper();
try{
String jsonStr = Obj.writeValueAsstring(map.get(key));
Metadata.setValue((map.get(key)!=null)?jsonStr:" ");
}catch (Exception e){
}
//after fetching from realm in xyz.java
HashMap<String,Object> jsonMap = new HashMap<String,Object>();
jsonMap = (HashMap<String,Object>) new Gson().fromJson(Metadata.getValue(),new Typetoken<HashMap<String,Object>>() {
}.getType());
// jsonMap used further
我在使用 proguard 构建应用程序时收到空指针异常。无混淆工作正常。我也没有收到有关该问题的任何详细消息,因此很难调试。任何建议表示赞赏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。