哪些不应该混淆
反射中使用的元素
如果一些被混淆使用的元素(属性,方法,类,包名等)进行了混淆,可能会出现问题,如NoSuchFiledException或者NoSuchMethodException等...如何解决
将序列化和反序列化的类排除混淆
使用@SerializedName注解字段
@SerializedName(parameter)通过注解属性实现了
序列化的结果中,指定该属性key为parameter...四大组件不建议混淆
Android中四大组件我们都很常用,这些组件不能被混淆的原因为
四大组件声明必须在manifest中注册,如果混淆后类名更改,而混淆后的类名没有在manifest注册,是不符合Android...外部程序可能使用组件的字符串类名,如果类名混淆,可能导致出现异常
注解不能混淆
注解在Android平台中使用的越来越多,常用的有ButterKnife和Otto.很多场景下注解被用作在运行时反射确定一些元素的特征....详解Java中的注解
其他不该混淆的
jni调用的java方法
java的native方法
js调用java的方法
第三方库不建议混淆
其他和反射相关的一些情况
stacktrace的恢复
Proguard