Когда использовать модули:
Когда ваш проект можно разделить на более мелкие независимые части.
Я не включил это в свой проект, и мое время компиляции увеличилось с 50+ секунд на одну итерацию до менее 10 на одну итерацию.
Потому что, когда я изменяю код в 1 модуле, остальные не меняются, и поэтому время компиляции быстрее.
Когда использовать разновидности:
- Когда вы хотите опубликовать sh приложений в разных магазинах, и им нужно иметь разные applicationId
, например, вы хотите опубликовать sh в Google Play, и амазонка, и какой-то другой магазин, о котором никто не слышал.
Когда вы хотите, чтобы часть вашего приложения была доступна при определенных условиях сборки
Когда вы хотите сделать метку для своего приложения - в основном оно имеет тот же лог c но другой интерфейс, так что на практике это совершенно другое приложение, только ... это не так.