Продвижение приложения из бета-версии в производство в Google Play с использованием вариантов сборки
У меня следующая ситуация
сценарий
Часть 1. Приложение, работающее с Build Variants
: debug
, beta
а также release
следующим образом
buildTypes {
debug {
versionNameSuffix '-DEBUG'
applicationIdSuffix '.debug'
buildConfigField "String", "SERVER_URL", '"url local test"'
debuggable true
signingConfig signingConfigs.config
}
beta {
versionNameSuffix '-BETA'
buildConfigField "String", "SERVER_URL", '"url homologation"'
signingConfig signingConfigs.config
}
release {
buildConfigField "String", "SERVER_URL", '"url production"'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
И призыв к использованию String SERVER_URL
указывая на текущий URL buildType selected
, Смотри это
String URL = BuildConfig.SERVER_URL
Часть 2. Переключатель между Build Variants
на Android Studio, как следует из изображения
Это работает абсолютно нормально для меня
вопрос
Часть 1. У меня есть приложение в Google Play, созданное в виде подписанного апка из варианта выпуска
Часть 2. Мне нужно поместить приложение в бета-тестирование Google Play, генерируя как подписанный apk из варианта BETA, например, указывая на url homologation
Часть 3. Когда владелец продукта заканчивает тестирование из бета-теста, мне нужно продвинуть это приложение в производство на Google Play Console
Вопрос
Основной вопрос: когда я продвигаю приложение из бета-версии в производство, оно автоматически указывает на url production
от release variant
или мне нужно будет сгенерировать еще один apk как signed apk from release variant
?
Зачем? Основная мотивация заключается в том, что я не могу протестировать эту акцию без уверенности, что она будет работать нормально, и, что не менее важно, это сэкономит мое время, и мой шеф-повар сможет это сделать.
Предупреждение! Если это неправильная работа, что лучше всего делать?
1 ответ
Если я понимаю ваш вопрос, это так:
- с вашими текущими настройками у вас есть некоторая конфигурация, скомпилированная в APK, включая URL сервера
- вы хотите протестировать с одним сервером в бета-версии, а другой в выпуске
- но это означает, что вы не можете рекламировать свою бета-версию APK, потому что URL будет другим. Но если вы перекомпилируете, вы не можете быть уверены, что APK останется неизменным по сравнению с протестированным вами.
Вы правы, это настоящая проблема. Есть два общих решения:
- Вариант 1: не компилируйте строки вашего сервера в ваш APK. Вместо этого используйте сервис, такой как удаленная конфигурация Firebase, для динамического изменения сервера и других настроек вашей беты. Таким образом, APK не нужно менять
- Вариант 2: Когда вы собираете свою бета-версию, пометьте свою ветку в своей системе контроля версий. Затем, когда вы хотите продвинуться в prod, создайте новый APK, но убедитесь, что вы используете размеченную ветку из системы контроля версий.
Лично я думаю, что рекомендовал бы вариант 1, но я знаю, что разные крупные профессиональные разработчики Android используют оба варианта.