如何使用 Kotlin DSL 让 Firebase App Distribution 为不同的风格工作?

How to get Firebase App Distribution to work for different flavors with Kotlin DSL?

我对 Firebase 分发配置有疑问。这是我在 Kotlin DSL

build.gradle 的一部分
flavorDimensions("dim")
productFlavors {
    
    create("fl1") {
        applicationIdSuffix = ".fl1"
        setDimension("dim")
        firebaseAppDistribution {
            releaseNotes = "$name"
            groups = "group-fl1"
        }
    }

    create("fl2") {
        applicationIdSuffix = ".fl2"
        setDimension("dim")
        firebaseAppDistribution {
            releaseNotes = "$name"
            groups = "group-fl2"
        }
    }

}

Flavor 1 和 Flavor 2 上传到 2 个不同的 Firebase 项目 - 因此我有两个 google-services.json 文件:src/fl1src/fl2.

根据观察,Firebase App Distribution 插件始终使用第二个 firebaseDistribution 块中的配置。看起来这不是设置为 flavor 而是全局设置。 例如,当我调用 assembleFl1Debug appDistributionUploadFl1Debug 时,正确的 .apk 进入正确的 Firebase 项目,但发行说明和组都不正确。 有人遇到过类似的问题吗?

我已将此报告给 Firebase 支持并刚刚收到确认这是错误的信息,但尚未安排解决方法或修复日期:( 这仅涉及 build.gradle 个用 Kotlin DSL 编写的文件。

这是一个错误,但在修复之前,您可以使用:

而不是 firebaseAppDistribution { ... }
configure<AppDistributionExtension> {
  ...
}

这样您就可以进行不会被覆盖的动态配置。