Страницы

Поиск по вопросам

четверг, 21 марта 2019 г.

Изменения кода в бесплатной и платной версии приложения одновременно

Есть приложение N, у него есть две версии - платная и бесплатная, у каждой версии свой ИД и свой функционал.
Допустим, мне надо внести изменение в 5-7 классов, дополнить их чем-то и в той и другой версии.
Как лучше всего и удобнее это делать ?
п.с. сейчас я пишу в одной версии, потом копирую ручками в другую.


Ответ

Используйте Flavors.
Рецепт для Android Studio:
Открываете File-Project Structure-Flavors. Там уже будет defaultConfig. Создаете два flavor'а: paid и free. Указываете для каждого из них свой ApplicationId. Остальные данные указывать не обязательно, они будут браться из defaultConfig'а (возможно могут отличаться signing config, тогда его тоже указать, а может и нет, зависит от вашего проекта). Теперь для каждого из flavor'а вы можете создать свои классы и ресурсы, они будут объединяться с имеющимся кодом (поверх). Файлы эти будут лежать рядом с main в директории src. Например:
myproject app src main java res assets ... paid java res ... free res ...
2.1. Сама структура директорий не создается, придется это делать вручную. Хотя для ресурсов, например, можно выбрать sourceSet (по дефолту там main, но можно выбрать любой нужный) и тут уже структура и файлы (если надо) создадутся. Открываете слева внизу в студии Build Variants и выбираете там нужный вам вариант запуска. Например, Module: app -> Build Variant: paidDebug. Переключаетесь на freeDebug, студия сама все пересоберет. Профит.
Ссылки по теме:
Configuring Gradle Builds An Android Studio Gradle Build Variants Example

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

Отправить комментарий