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

Читать

Cannot find implementation for Database. Database_Impl does not exist (Room)

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

Данная ошибка при работе c Room обычно связана с неполным или неверным описанием в gradle файлах, связанных с обработчиком аннотаций. Т.е. суть ошибки в том, что он просто не может прочитать аннотации, которые вы сделали к классу базы данных, и по умолчанию ...

Читать

View Binding в kotlin

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

Иногда на собесах спрашивают что такое view binding, и звучит это как некая сложная тема, но на самом деле, это просто фича сборщика, которую можно использовать для упрощения доступа к элементам шаблонов. Этот механизм упрощает работу с элементами ...

Читать

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

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

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

Читать
 

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

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



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