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

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

Notification в Android

Март 1, 2025 г.

Как показать уведомление в android? Мало того, что сообщения имеют довольно сложную структуру, но они еще и зависят от версии API, под которое билдится приложение. Чтобы показывать уведомления, начиная с 33 версии API, вы должны добавить в ...

Читать

View Binding в kotlin

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

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

Читать

Фильтрация сообщений в logcat

Январь 10, 2025 г.

Android Studio пере-изобретает способ фильтрации сообщений в logcat в очередной раз. Теперь это инструкции, которые задаются сродни ключам командной строки. ...

Читать

Синглтон и даблчек

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

Рассмотрим использование двух паттернов программирования в kotlin - singleton и doublecheck. У нас есть пример кода, где экземпляр класса получается как singleton. Для асинхронного вызова функции используется блок синхронизации. [crayon-68e590f716394525657051/] ...

Читать
 

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

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



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