1:不要过度Proguard,组件也可以Produard,但是要排除export的组件,同时需要替换变量(比如activity-->a,在变量中定义了次activity)的情况。
2:去掉debug信息或者行号,Proguard会通过这个信息保存行号
-keepattribute SourceFile, LineNumberTable
3:dex分包,跨dex会有调用的详细的信息,比如ClassA与ClassB编译到不同的dex,由于method a 调用了method b 所以classA中需要加上method b的id,这样method id就会大量冗余,造成dex增多
4:资源混淆,可以减少resources.arsc中的内容,metadata也要记录所有文件的路径和哈希值
5:资源合并,例如把png的图片合成一个大图,可以减少resources.arsc中的内容
6:无用资源lint,静态扫描,shrinkResources,minifyEnabled