fastjson在混淆后遇到的坑

混淆有时候让人确实让人很头疼,记得一次项目一直开发测试还是比较顺利,结果在最后阶段打了一个签名混淆包后,出现了网络请求失败,数据获取空指针等等奇葩问题,后来才找到是混淆导致数据异常,程序崩溃。下边我将解决办法记录下边,供自己和需要的同学解决问题:

########################网络请求需要########################
-dontwarn org.apache.http.**
-dontwarn android.support.**
-keep class android.support.** {*;}
-keep class android.webkit.** {*;}

#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}
#okio
-dontwarn okio.**
-keep class okio.**{*;}


### org.json xml
-dontwarn org.json.**
-keep class org.json.**{*;}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

########################网络请求需要########################

#不混淆实体类,否则对象转json后全是空
-keep class com.boredream.designrescollection.entity.**{*;}
-keep class com.boredream.designrescollection.entity.dto**{*;}
-keep class com.boredream.designrescollection.entity.request**{*;}
-keep class com.boredream.designrescollection.entity.response**{*;}

##解决java.lang.InternalError
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
    long producerIndex;
    long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
    rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
    rx.internal.util.atomic.LinkedQueueNode consumerNode;
}

# auth sg note:这个是防止打包后实体fastjson解析报错获取不到
##---------------Begin: proguard configuration for fastjson  ----------
-keepnames class * implements java.io.Serializable
-keep public class * implements java.io.Serializable {
 public *;
}
-keepclassmembers class * implements java.io.Serializable {
 static final long serialVersionUID;
 private static final java.io.ObjectStreamField[] serialPersistentFields;
 private void writeObject(java.io.ObjectOutputStream);
 private void readObject(java.io.ObjectInputStream);
 java.lang.Object writeReplace();
 java.lang.Object readResolve();
}
-dontwarn android.support.**
-dontwarn com.alibaba.fastjson.**


-dontskipnonpubliclibraryclassmembers
-dontskipnonpubliclibraryclasses


-keep class com.alibaba.fastjson.** { *; }


-keepclassmembers class * {
public <methods>;
}
##---------------End: proguard configuration for fastjson  ----------

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值