也許大家都遇到過這樣的問題 抄囚,我在一個(gè)類中定義了一個(gè)static final 成員變量全释,但是在release包中通過反射該類卻查找不到該成員變量已骇,而Debug包中卻可以。
這是因?yàn)镽elease打包策略導(dǎo)致的方咆,我們打Release包的時(shí)候一般會(huì)采用代碼混淆月腋,在混淆的時(shí)候并且做了代碼優(yōu)化,例如刪除無用類瓣赂、無用成員變量榆骚、以及那些靜態(tài)常量會(huì)被嵌入需要他的地方中去。所以在做反射的時(shí)候煌集,一定要避免這種情況妓肢,讓此類不混淆。
現(xiàn)象:
1苫纤、定義一個(gè)類碉钠,里面全部都是靜態(tài)常量,在Debug包中能查找到該類卷拘,但是在release包找卻找不到此類
2喊废、定義一個(gè)類,有且僅有反射使用到它栗弟,在Debug包中能查找到該類污筷,但是在release包找卻找不到此類