關於AFinal的混淆

       我的前個項目中打算引用個框架,於是就看上了AFinal的這個開源庫,

感覺用着還不錯,可是卻到最後的關鍵地方,掉鏈子了,就是我在混淆打包後,

死活都是在報錯,或者直接就是點擊事件沒反應。

    無奈的啊,只好求助百度和Google了,可是最後發現都不好使啊!不過最後

我還是在無意間解決了這個問題。

我們一般情況下是這樣加的:

-libraryjars libs/afinal_0.5.1_bin.jar

-dontwarn net.tsz.afinal.**
-keep class net.tsz.afinal.** { *; }
-keep public class * extends net.tsz.afinal.** 
-keep public interface net.tsz.afinal.** {*;}

可是最後往往不行,於是在網上無意間發現這個點擊打開鏈接
我在想這個框架應該是用到了反射的機制,所以我們有時有必要加上

-keepattributes Signature
-keepattributes *Annotation*

這兩個屬性
後來發現時解決了一些問題,但是同時又產生了一些問題,看來官網才加上的
-keepclasseswithmembers class xxx.** {
     <fields>;
     <methods>;
}
把xxx換成你繼承的afinal的這個包名加類名就行了。

把上面的這三個加上,基本上算是沒啥問題了!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章