Автоинкремент версии билда в проекте на kotlin

Куча готовых решений в сети, но почему то ничего не работает. Пришлось исследовать этот вопрос. Оказалось, что gradle.kts это тоже kotlin скрипт, который выполняется каждый раз при сборке проекта.

И задача состоит в том, чтобы увеличивать версию сборки каждый раз автоматически. Конфигурация в build.gradle.kts содержит секцию android.defaultConfig, которая изначально выглядит вот так:

На месте многоточий — какие то более конкретные значения.

Хочется, чтобы versionName выглядел, как то так:

А versionCode менялся автоматически.

Раз уж мы разобрались, что это скрипт на kotlin, то никто не мешает нам создать функцию, которая читает версию сборки из файла, увеличивает её на единицу и пишет обратно в этот же файл.

Добавим в конец build.gradle.kts следующую функцию:

Также потребуется импорт библиотеки java.util.Properties, её мы добавим в самое начало файла:

Функция getNextVersion выполняет описанные выше операции с файлом .gradle/my.properties, попутно создавая его, если он не существует. В этом файле создаётся свойство — myBuildNumber, которое хранит актуальную версию билда.

Дополнительно, версия будет выводится в консоль во время сборки.

Остается только исправить строки в defaultConfig секции, чтобы всё заработало.

Если потребуется установить вручную версию сборки, вы можете это сделать в файле .gradle/my.properties.

Написать комментарий

Мало букафф? Читайте есчо !

Вызов одного конструктора в другом в Kotlin

Январь 21, 2025 г.

Если вы переходите с java на kotlin, то у вас часто возникают вопросы вроде - как сделать на kotlin то, что вы делали на java вот так и так. В java вызов перегруженного конструктора в другом конструкторе класса выглядит следующим образом. Представим, ...

Читать

Работа с фрагментами в kotlin

Февраль 13, 2025 г.

Небольшой гайд по работе с фрагментами в android studio. Фрагменты чем то напоминают фреймы в html. Фрагменты обладают многими возможностями, которые есть у активити (Activity), имеют свой lifecycle, также работают с viewModel и т.п. И конечно же фрагмент ...

Читать

 

Комментарии к «Автоинкремент версии билда в проекте на kotlin»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: