Android混淆之FastJSON坑java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast t...

今天处理时遇到一个神坑坑,java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to xxxxx

原因是,代码混淆后,json找不到对应的类名了。需在混淆文件中,加入防止混淆的命令。
android的构建脚本用的语法是gradle文件,打开build.gradle文件,一般指定混淆文件的脚本如下:


android {
    buildTypes {
        release {
            minifyEnabled true // 是否混淆
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'  //android默认混淆规则 +  proguard-rules.pro中的自定义规则
        }
    }
}

打开proguard-rules.pro,添加如下3行规则:

-keepattributes Signature
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.**{*; }

你可能感兴趣的:(Android混淆之FastJSON坑java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast t...)