然后在打包Library的时候,Android plugin会把声明的ProGuard规则文件给合并到一个文件中去,最终合并的文件路径是到:build/intermediates/bundles/debug/proguard.txt,最终proguard.txt会被打包到aar中。

    备注:可以解压aar根目录下的proguard.txt验证混淆规则是否是符合预期的。

    ProGuard规则文件不仅仅可以在defaultConfig中声明,也可以在BuildType中同时声明:

    也可以在Flavor中同时声明:

    比如你执行的是assembleDebug,那么最终:

    可以通过查看com.android.build.gradle.internal.tasks.MergeProguardFilesConfigAction这个类来看他的实现原理。