Продукт Android-версии версииNameSuffix

Я использую buildTypes и productFlavors. Мое приложение также использует инструмент аналитики, и этот инструмент использовал versionName моего приложения.

Как я могу изменить versionName для каждого аромата? Мой тест был

productFlavors {
    google {
        versionNameSuffix ".google"
    }
}

но это не удалось. Кто-нибудь имеет представление о том, как настраивать имя версии в зависимости от вкуса?

Обновление

По-видимому, версия 2.2.0 Gradle Android-плагина теперь позволяет установить versionNameSuffix в productFlavors

Ответ 1

Это все еще работает для меня, но, похоже, работает:

productFlavors {
    development {
        versionName = android.defaultConfig.versionName + (System.getenv("BUILD_NUMBER") as Integer ? "-build" + System.getenv("BUILD_NUMBER") as Integer : "-developerBuild")
    }
}

Таким образом, мы можем установить versionName в defaultConfig, на сервере сборки он устанавливает переменную окружения BUILD_NUMBER, поэтому заканчивается следующим образом: 1.2-build1234 В производственной сборке используется defaultConfig, поэтому это просто 1.2 и при построении dev, переменная окружения не установлена, поэтому ее 1.2-developerBuild

Только что придумал этот план сегодня вечером (так можно было бы упростить, я уверен), поэтому работа над получением последней версии контроля версий добавлена, когда на dev-машине, но я видел другие ответы, как это сделать.

Ответ 2

Вы можете установить полное имя версии с помощью аромата, например:

productFlavors {
    flavor_a {
        versionName 'Version_A'
    }
    flavor_b {
        versionName 'Version_B'
    }
}
defaultConfig {
    versionName 'Default_version_name'
}

Если в ароматизаторе не указано имя версии, оно будет выбрано из defaultConfig.