android代码混淆 GSON完满解决

news/2025/3/3 20:30:34/

头疼的问题,json使用了google的gson三方包,可是混淆的时候出了问题


明明已经按照gson的官方文档,把混淆脚本加上去了,却还是出问题。

今天同事找到一篇博客,关于这个问题的:

我们是将json解析以后放到javabean中去的,但是一直出问题,放进去的字符串是对的,解析出来的javabean却是空,节操碎一地


-keep class com.google.**{*;}
-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();
}


##---------------Begin: proguard configuration for Gson  ----------
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature  
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }  
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }  ##这里需要改成解析到哪个  javabean

##---------------End: proguard configuration for Gson  ----------


这些个是官方给的脚本,放进去那叫一蛋疼,坑爹

最后一篇博客9了我:http://blog.sina.com.cn/s/blog_4e1e357d0101ednf.html


大致是 倒数第二行 需要让所有定义的javabean不被混淆,改过来之后就好了,十分感谢,希望朋友们也少走弯路


英文不好也是相当的坑爹呀,唉


http://www.ppmy.cn/news/419343.html

相关文章

anroid 使用 Gson 混淆 遇到的bug 总结

使用Gson了的,在发布包时,如果需要对包进行混淆,那么必须加入如下配置 这里有一点比较坑爹,从google android_proguard_example 的proguard.cfg上考下来的文件必须做一定的修改: ##---------------Begin: proguard con…

anroid 使用 Gson 混淆 遇到的bug

http://blog.sina.com.cn/s/blog_4e1e357d0101ednf.html

volley混淆之后报错与gson混淆解决

有个项目的部分请求是volley,混淆之后发现,有返回数据,但是请求失败,后来发现是返回数据gson的解析失败,然后去查了一下gson的混淆,这里分享一下 ##---------------Begin: proguard configuration for Gson…

代码混淆 GSON完满解决

头疼的问题,json使用了google的gson三方包,可是混淆的时候出了问题 明明已经按照gson的官方文档,把混淆脚本加上去了,却还是出问题。 今天同事找到一篇博客,关于这个问题的: 我们是将json解析以后放到jav…

N63044-第九周

十七、域名系统 DNS服务 1、名称解析服务和DNS服务实现原理(88分钟) 2、dns服务基础配置实现互联网访问(79分钟) 3、实现正向解析dns服务(57分钟) 4、实现反向DNS解析和从DNS服务器(59分钟) 5、实现子域委派和转发查询(47分钟) 6、GSLB和CDN服务工作原理(50分钟) 十八、Linux防…

React插件ES7+ React/Redux/React-Native snippets的安装与使用

二 、React插件的安装与使用 Vscode插件市场安装ES7 React/Redux/React-Native snippets 1. Basic Methods PrefixMethodimp→import moduleName from moduleimn→import moduleimd→import { destructuredModule } from moduleime→import * as alias from moduleima→import…

01_04_快速排序(Quick Sort)

快速排序(Quick Sort) 快速排序(Quick Sort)介绍: 是一种常用的排序算法,它采用分治的策略来对待排序的序列进行排序。快速排序的基本思想是选择一个基准元素,通过一趟排序将序列分割成两个子…

Ubuntu下的自启动(Service启动)

在Ubuntu中设置Python3命令开机自启需要创建一个systemd service文件,步骤如下: 使用任一文本编辑器,打开一个终端窗口。 在终端中输入以下命令,创建一个.service文件: sudo vim /etc/systemd/system/my_script.ser…