Как стать автором
Обновить

Очень быстро понимаем Android Build Flavors

Время на прочтение4 мин
Количество просмотров21K
Всего голосов 3: ↑3 и ↓0+3
Комментарии11

Комментарии 11

а когда это может пригодиться на практике, кроме создания множества некачественных копий однотипных игр-рулеток для play market?

вопрос без пост-иронии, хочется действительно узнать кейсы

когда в компании\стартапе разрабатываются два приложения для разных типов пользователей
например, одно с доступом к функциям администратора и всем остальным функционалом, а второе - просто со всем остальным функционалом. в этом случае для безопасности можно всем пользователям рассылать урезанную версию, а администраторам полную
(на сколько это в реальности прибавляет безопасности - хороший вопрос)

но более частый кейс - платная и бесплатная урезанная версия

Например, мне нужно сделать одно и то же приложение паре разных фирм. Функционал везде одинаковый, но отличается оформление, логотипы и url доступа к данным.

вероятно это не очень уж нужная фича, возможно например для очень старых версий андроид + более новых, в которыъ какие-то новые возможности UI задействованы, которых нет в старых версиях..

нет нет, это совсем про другое

для написания кода под определенную версию пишутся просто проверки

if(android.os.Build.VERSION.SDK_INT >= n) { ... }

а Build Flavors - именно про разработку нескольких версий, отличающихся по функционалу и дизайну (отличающихся, не по причине разницы версий андроида, а из-за потребностей бизнеса)

Пример - приложение для доставки еды и курьеров. Используется общий код, для много чего, но, естественно, в приложении курьера не должно быть функции заказа еды, а в приложении клиента не должно быть варианта принять чей-то заказ.

Ну или похожий кейс в каршеринге - общий код, но в клиентском приложении нет функицй, которые есть в приложении для персонала, обслуживающего авто (например, пометить авто, как нерабочее и вызвать для него эвакуатор).

интересно, это предположение или инсайт из одной из реальных известных компаний?)

Два как мне кажется самых частых кейса - платное/бесплатное приложение, паблишится на разные плащадки - Google Play/Huawei AppGallery.

две площадки + версия "для тестеров и сотрудников" (в которой например есть возможность заходить на тестовые стенды, или включать штатно отключенный(не до конца готово или какие то бизнес-причины) но в принципе имеющийся в коде в функционал) + периодически версия с радикальными редизайном GUI (и вероятно — багами) + варианты предыдущих версий но с обфускацией как у полноценного релиза (тоже для тестов)

А staging и production версии тоже через flavors делают или есть способ проще?

смотря что имеете ввиду

если "версия возможно с багами" и "версия проверенная" - то это ветки гитхаба

если разные настройки сборки - то это Build Types

если разный функционал (почему-то) - то это Build Flavors

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории