Возможно ли каким-либо образом или каков наилучший сценарий для программного обновления кода версии и названия версии в мобильном приложении Android?
Для мобильного приложения мы используем:
- Xamarin для разработки под Android
- Visual Studio Team Services для управления версиями (Git), сборки, тестирования и выпуска.
- Гугл плей для раздачи.
наш непрерывный поток интеграции выглядит так:
Visual studio (xamarin) ->
Git(Code) ->
Build ->
Test(Xamarin testcloud) ->
Release Google Play (Alpha/Beta/Production)
В настоящее время я должен обновить код/имя версии вручную перед фиксацией в Git, иначе на другом конце потока Google будет жаловаться, что номер версии недавно выпущенного apk меньше или равен apk, уже находящемуся в Play Store.
Однако, поскольку мы делаем много коммитов и автоматически собираем-выпускаем, мы хотим увеличить код/название версии только в успешном выпуске (на случай, если Google его отклонит). Это вызвало небольшую дилемму: потому что тогда AndroidManifest, в котором находится версия, уже упакован в подписанный и заархивированный APK.
Другое дело: мы работаем над проектом с несколькими разработчиками, поэтому ручное обновление может привести к гонкам, поэтому лучший способ (как мы думаем) — обновить номера версий непосредственно перед выпуском.
Вещи, о которых я думал:
- сохранение номера версии где-то в VSTS
- используя номер сборки в качестве номера версии
- получение номера текущей версии через API разработчика из Google Play
Но все еще немного застрял и ищет общую/лучшую практику