Мое решение также может быть полезным для кого-то.
Протестировано и работает на IntelliJ 2017.3.2 с Gradle 4.4
Сценарий:
У меня 2 ароматизаторов в моем приложении, и поэтому я хотел каждый выпуск будет называться соответствующим образом в зависимости от каждого аромата.
Приведенный ниже код будет помещен в ваш модуль файл Gradle сборки найден в:
{app-root}/app/build.gradle
Gradle код, который будет добавлен в android{ }
блока:
android {
// ...
defaultConfig {
versionCode 10
versionName "1.2.3_build5"
}
buildTypes {
// ...
release {
// ...
applicationVariants.all {
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace(output.outputFile.name, variant.flavorName + "-" + defaultConfig.versionName + "_v" + defaultConfig.versionCode + ".apk"))
}
}
}
}
productFlavors {
myspicyflavor {
applicationIdSuffix ".MySpicyFlavor"
signingConfig signingConfigs.debug
}
mystandardflavor {
applicationIdSuffix ".MyStandardFlavor"
signingConfig signingConfigs.config
}
}
}
выше предоставляет следующие APK- найдено в {app-root}/app/
:
myspicyflavor-release-1.2.3_build5_v10.apk
mystandardflavor-release-1.2.3_build5_v10.apk
Надеюсь, он может быть полезен кому-то.
Для получения дополнительной информации см других ответов, упомянутых в вопросе
1.Change сборка varient выпустить 2.select Build-> генерировать подписанную APK из строки меню. Таким образом, я создаю подписанный apk – Prabs
. Все ответы здесь неправильные .. Эта проблема все равно будет возникать с использованием любого из них ... Проблема заключается в том, что студия кэширует имя артефакта apk и продолжает использовать кешированное имя вместо использования новый сгенерированный! – TacB0sS