Автоинкремент версии билда в проекте на 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.

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

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

Анимированный градиент в ActionBar

Октябрь 23, 2022 г.

Расскажу как создать фон для actionbar с анимацией градиента цвета. Нам понадобится Android Studio и Kotlin. Для начала добавим drawable ресурс в наш проект. Откроем в проекте вкладку res/drawable и выберем из меню File -> New -> Drawable ...

Читать

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

Январь 21, 2025 г.

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

Читать

 

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

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



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