也许大家都遇到过这样的问题 ,我在一个类中定义了一个static final 成员变量,但是在release包中通过反射该类却查找不到该成员变量,而Debug包中却可以。
这是因为Release打包策略导致的,我们打Release包的时候一般会采用代码混淆,在混淆的时候并且做了代码优化,例如删除无用类、无用成员变量、以及那些静态常量会被嵌入需要他的地方中去。所以在做反射的时候,一定要避免这种情况,让此类不混淆。
现象:
1、定义一个类,里面全部都是静态常量,在Debug包中能查找到该类,但是在release包找却找不到此类
2、定义一个类,有且仅有反射使用到它,在Debug包中能查找到该类,但是在release包找却找不到此类
网友评论