安卓app调试正常,混淆编译apk就出错

最近学用android studio开发一款app,调试好了没什么问题了,准备要编译上线的时候出bug了,一运行就挂掉。真是奇了怪了,又没报错啥的,后面调试了好久才发现是gson解析对象的时候没解析出来,造成了null值的缘故,原因是我的定义对象实体的时候没有实现serializable接口。,可是listview的界面却又能适配出部分属性的数据,我也是醉了,明明log出来的对象的各项值都是null,可是又偏偏适配出了部分属性的数据,真是奇了怪了,clean也没用,莫名其妙的bug。关键是没报错,就直接闪退,后面也是各处添加try...catch才找出了问题所在。

反正后面实现了serializable接口就好了。

Serializable接口,再在混淆配置文件proguard-rules.pro里面加上下面几行代码就搞定了。
-dontwarn com.google.**
-keep class com.google.gson.** {*;}
-keep class com.google.gson.examples.android.model.** { *; }
-keep public class * implements java.io.Serializable {*;}

 后面在开发的过程中也发现有类似的问题,明明调试运行没问题,一编译就报错类似的错误,can't find superclass or interface,后面也是检查了一下,新加入了一个架包,把那个架包类似的添加上

-keep class com.itextpdf.**{ *; }
-dontwarn com.itextpdf.**  
就ok了,总之就是不让架包再混淆了,当然,编译的过程中不只这一种错误,
应该还会有其他的各种错误,如果是其他的问题要再查找其他的解决办法,
比如:Lint found fatal errors while assembling a release target.    
 的解决办法就是 要按照这位仁兄的办法解决了:
https://blog.csdn.net/u010227042/article/details/80009279
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值