Комментарии 11
а когда это может пригодиться на практике, кроме создания множества некачественных копий однотипных игр-рулеток для play market?
вопрос без пост-иронии, хочется действительно узнать кейсы
когда в компании\стартапе разрабатываются два приложения для разных типов пользователей
например, одно с доступом к функциям администратора и всем остальным функционалом, а второе - просто со всем остальным функционалом. в этом случае для безопасности можно всем пользователям рассылать урезанную версию, а администраторам полную
(на сколько это в реальности прибавляет безопасности - хороший вопрос)
но более частый кейс - платная и бесплатная урезанная версия
Например, мне нужно сделать одно и то же приложение паре разных фирм. Функционал везде одинаковый, но отличается оформление, логотипы и url доступа к данным.
вероятно это не очень уж нужная фича, возможно например для очень старых версий андроид + более новых, в которыъ какие-то новые возможности UI задействованы, которых нет в старых версиях..
нет нет, это совсем про другое
для написания кода под определенную версию пишутся просто проверки
if(android.os.Build.VERSION.SDK_INT >= n) { ... }
а Build Flavors - именно про разработку нескольких версий, отличающихся по функционалу и дизайну (отличающихся, не по причине разницы версий андроида, а из-за потребностей бизнеса)
Пример - приложение для доставки еды и курьеров. Используется общий код, для много чего, но, естественно, в приложении курьера не должно быть функции заказа еды, а в приложении клиента не должно быть варианта принять чей-то заказ.
Ну или похожий кейс в каршеринге - общий код, но в клиентском приложении нет функицй, которые есть в приложении для персонала, обслуживающего авто (например, пометить авто, как нерабочее и вызвать для него эвакуатор).
Два как мне кажется самых частых кейса - платное/бесплатное приложение, паблишится на разные плащадки - Google Play/Huawei AppGallery.
две площадки + версия "для тестеров и сотрудников" (в которой например есть возможность заходить на тестовые стенды, или включать штатно отключенный(не до конца готово или какие то бизнес-причины) но в принципе имеющийся в коде в функционал) + периодически версия с радикальными редизайном GUI (и вероятно — багами) + варианты предыдущих версий но с обфускацией как у полноценного релиза (тоже для тестов)
А staging и production версии тоже через flavors делают или есть способ проще?
Очень быстро понимаем Android Build Flavors