Android Gradle 插件 7.2 忽略 Android 应用构建过程中添加的混淆文件

Android Gradle Plugin 7.2 ignores added proguard file in Android App build process

我有一个 Gradle 插件,是我为 Android 应用程序项目编写的。除其他事项外,此插件向正在构建的所有 ApplicationVariants 添加了自定义 ProGuard 规则文件。

在引入 Android Gradle 插件 7.2 之前一直运行良好。自从我开始使用 AGP 7.2 编译我的应用程序 - 插件 添加的 ProGuard 文件被忽略.

Code:

    project.android.buildTypes[<variant.buildType.name>].proguardFile = new File(<custom Proguard rules file path>)

这在 AGP <= 7.0 中工作没有任何问题。构建过程的日志中没有异常。

我尝试了另一种方法并得到了相同的结果: 我尝试使用脚本添加 ProGuard 文件(根本不使用插件)——但结果是一样的——此文件被忽略。 这是我在 build.gradle 中添加的代码:

afterEvaluate {
    for (def buildType : project.android.buildTypes) {
       buildType.proguardFile file(< full path>)
    }
}

有什么想法吗? 谢谢!

在Groovy中可以为android.defaultConfig设置值:

// this sets one file
android.defaultConfig { config ->
    proguardFile new File("../general.pro")
}

// this adds an additional file
android.defaultConfig { config ->
    proguardFiles.add(new File("../general.pro"))
}

// proof of concept
android.buildTypes { buildType ->
    println buildType
}

这发生在 :prepareKotlinBuildScriptModel 之前,这意味着早期。