最近遇到使用代码混淆的问题所以学习了一下proguard。下面是需要注意的地方,也是提醒自己留个印象:
1、Android.mk:
(1)LOCAL_PROGUARD_ENABLED := disabled #控制是否开启proguard,默认值为full
(2)LOCAL_PROGUARD_FLAG_FILES := proguard.flags #选择加载的flags文件
以上标记都可以在build/core中找到相应的使用地方。
2、proguard.flags
这是proguard语法书写的文件,具体语法网上很多,这里不介绍了。
主要介绍keep的简单使用:
(1)保护某个类所有变量和方法 -keep class yourpackage.class {*;}
(2)保护类的内部类的所用变量和方法 -keep class yourpackage.class$* {*;} //这个会影响类的调用方法需要加上第三条
(3)-keepattributes Exceptios,InnerClasses,..
参考前辈的帖子:
http://blog.csdn.net/top_code/article/details/18225501
http://blog.csdn.net/silence_cdsn/article/details/41542877