Как заставить распространение приложений Firebase работать с разными вариантами с Kotlin DSL?

У меня проблема с конфигурацией Firebase Distribution. Вот часть моего build.gradle в Kotlin DSL

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"
        }
    }

}

Вариант 1 и вариант 2 загружены в 2 разных проекта Firebase, поэтому у меня есть два файла google-services.json: src/fl1 и src/fl2.

Из наблюдений плагин Firebase App Distribution всегда использует конфигурацию из второго блока firebaseDistribution. Похоже, это настроено не на вкус, а на глобальном уровне. Когда я вызываю, например, assembleFl1Debug appDistributionUploadFl1Debug, правильный .apk попадает в правильный проект Firebase, но примечания к выпуску и группы неверны. У кого-нибудь была похожая проблема?


person user2290148    schedule 26.06.2020    source источник


Ответы (2)


Я сообщил об этом в службу поддержки Firebase и только что получил подтверждение того, что это ошибка, но обходной путь или дата исправления пока не запланированы :( Это касается только файлов build.gradle, написанных на Kotlin DSL.

person user2290148    schedule 04.08.2020
comment
у вас есть ссылка на этот отчет об ошибке? - person Francis; 19.08.2020
comment
Нет, служба поддержки Firebase обработала это по электронной почте. Я могу переслать вам их сообщение. Прямо сейчас мы вынуждены использовать CLI, чтобы это работало с Kotlin DSL. - person user2290148; 21.08.2020

Это баг, но пока его не исправят, вместо firebaseAppDistribution { ... } можно использовать:

configure<AppDistributionExtension> {
  ...
}

Таким образом, вы можете создать динамическую конфигурацию, которая не будет переопределена.

person Diolor    schedule 14.06.2021