关于AFinal的混淆
http://blog.csdn.net/aibieqing241/article/details/38979531
我的前个项目中打算引用个框架,于是就看上了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的这个包名加类名就行了。