混淆后实体类转Json报错
来源:互联网 发布:苹果在线看岛片软件 编辑:程序博客网 时间:2024/06/06 07:47
先贴解决方案,在proguard里面加如下代码即可,参考网站:https://stackoverflow.com/questions/27687128/how-to-setup-proguard-for-jackson-json-processor
-keepattributes *Annotation*,EnclosingMethod,Signature-keepnames class com.fasterxml.jackson.** { *; } -dontwarn com.fasterxml.jackson.databind.** -keep class org.codehaus.** { *; } -keepclassmembers public final enum org.codehaus.jackson.annotate.JsonAutoDetect$Visibility { public static final org.codehaus.jackson.annotate.JsonAutoDetect$Visibility *; }-keep public class your.class.** { public void set*(***); public *** get*();}
混淆后,报错信息如下,供大家参考
java.lang.NoSuchFieldErrorat libcore.reflect.AnnotationAccess.decodeValue(AnnotationAccess.java:688)at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:663)at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:641)at libcore.reflect.AnnotationAccess.getDeclaredAnnotation(AnnotationAccess.java:170)at libcore.reflect.AnnotationAccess.getAnnotation(AnnotationAccess.java:72)at java.lang.Class.getAnnotation(Class.java:359)at com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std.<clinit>(VisibilityChecker.java:172)at com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std.defaultInstance(VisibilityChecker.java:180)at com.fasterxml.jackson.databind.ObjectMapper.<clinit>(ObjectMapper.java:196)at com.android.terminalmaintenance.common.utils.k.a(Tools.java:1912)at com.android.terminalmaintenance.options.monitor.a.a.a.c(CommonFlow.java:547)at com.android.terminalmaintenance.options.monitor.flow.FlowReadSubmitActivity.a(FlowReadSubmitActivity.java:145)at com.android.terminalmaintenance.options.monitor.flow.FlowReadSubmitActivity.onClick(FlowReadSubmitActivity.java:121)at android.view.View.performClick(View.java:5207)at android.view.View$PerformClick.run(View.java:21177)at android.os.Handler.handleCallback(Handler.java:742)at android.os.Handler.dispatchMessage(Handler.java:95)at android.os.Looper.loop(Looper.java:154)at android.app.ActivityThread.main(ActivityThread.java:5544)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)Caused by: java.lang.NoSuchFieldException: No field PUBLIC_ONLY in class Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility; (declaration of 'com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility' appears in /data/app/com.android.terminalmaintenance-2/base.apk)at java.lang.Class.getDeclaredField(Native Method)at libcore.reflect.AnnotationAccess.decodeValue(AnnotationAccess.java:685)... 21 morejava.lang.NoSuchFieldException: No field PUBLIC_ONLY in class Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility; (declaration of 'com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility' appears in /data/app/com.android.terminalmaintenance-2/base.apk)at java.lang.Class.getDeclaredField(Native Method)at libcore.reflect.AnnotationAccess.decodeValue(AnnotationAccess.java:685)at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:663)at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:641)at libcore.reflect.AnnotationAccess.getDeclaredAnnotation(AnnotationAccess.java:170)at libcore.reflect.AnnotationAccess.getAnnotation(AnnotationAccess.java:72)at java.lang.Class.getAnnotation(Class.java:359)at com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std.<clinit>(VisibilityChecker.java:172)at com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std.defaultInstance(VisibilityChecker.java:180)at com.fasterxml.jackson.databind.ObjectMapper.<clinit>(ObjectMapper.java:196)at com.android.terminalmaintenance.common.utils.k.a(Tools.java:1912)at com.android.terminalmaintenance.options.monitor.a.a.a.c(CommonFlow.java:547)at com.android.terminalmaintenance.options.monitor.flow.FlowReadSubmitActivity.a(FlowReadSubmitActivity.java:145)at com.android.terminalmaintenance.options.monitor.flow.FlowReadSubmitActivity.onClick(FlowReadSubmitActivity.java:121)at android.view.View.performClick(View.java:5207)at android.view.View$PerformClick.run(View.java:21177)at android.os.Handler.handleCallback(Handler.java:742)at android.os.Handler.dispatchMessage(Handler.java:95)at android.os.Looper.loop(Looper.java:154)at android.app.ActivityThread.main(ActivityThread.java:5544)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
阅读全文
0 0
- 混淆后实体类转Json报错
- 混淆后运行报错
- 一个json直接转化成实体类的报错
- hibernate的实体类双向关联转json报错之死循环解决方案
- android studio 混淆后,打包报错!!!
- Jar包混淆后引用报错
- 【FastJSON坑】--- java实体包含实体转换JSON报错
- java实体类转Json
- Android 打包 工程混淆后 报错 无法找到自定义控件类的 解决方案
- android 混淆后,反射R文件内部类报错
- webpack打包后,JSON.stringify()报错!
- 实体类含有自身或者另一个实体时转json
- 多渠道+混淆 报错
- 我的Android进阶之旅------>解决Jackson等第三方转换Json的开发包在开启混淆后转换的实体类数据都是null的bug
- 打正式包混淆后fastjson报错ClassCastException和其他bean报错崩溃问题
- json转java实体
- 将Json转实体
- .net 中 Json数据转实体类,实体类转Json
- Java的原子性&&可见性&&有序性
- 程序员应该接外包吗?
- lintcode之逆波兰表达式
- Ionic 修改Android sdk版本
- js函数的参数
- 混淆后实体类转Json报错
- Quick-Cocos2dx 中, 使用ccexp.VideoPlayer播放视频, 响应用户点击结束播放
- The Python GTK+ 3 Tutorial
- Android视频开发进阶(part1-关于视频的那些术语)
- Hibernate Annotation配置主键生成策略
- 弹框的一种简单css用法
- eclipse启动tomcat访问不到主页
- 深入oracle的left join中的ON和WHERE的区别详解
- Android事件分发