proguard的优化功能是默认打开的,但在buck却是默认关闭,当我们需要使用buck进行混淆优化时,就会失败。以下以优化 Log 语句为例简述记录配置问题。
查看buck的文档,android_binary中有一项“android_sdk_proguard_config ”的配置,它有三档选择 {default|none|optimized},默认是default,如果我们需要打开优化功能,就需要手动设置android_sdk_proguard_config为optimized,如下
1 | android_binary( |
然后在proguard-project.txt中配置去掉Log的语句即可
1 | -assumenosideeffects class android.util.Log { |
如此执行build后,就可以到buck-out中对应的项目目录下查找生成的文件了,混淆的规则等是放在一个隐藏的文件夹.proguard中的,其中可以查看到buck帮我们生成的混淆配置文件。