Android Studio — несколько приложений для Android с общими зависимостями в одном проекте

У меня есть два разных приложения для Android A и B. A и B - это модули в одном проекте.

Оба имеют зависимость от библиотечного модуля Z, который сам зависит от двух других библиотечных модулей X и Y.

  • A -> Z
  • B -> Z

Z -> X, Y

Теперь принятый ответ на этот вопрос гласит: что один проект Android Studio не может иметь несколько приложений.

Как ни странно, я могу создать эти два приложения (в одном проекте Android Studio) и довольно хорошо запустить их на своем телефоне. Я пропустил что-то очевидное здесь?

Может ли один проект Android Studio содержать несколько приложений?

  1. Если ответ НЕТ, то почему?
  2. Если ответ ДА, есть ли какие-то уловы?

person acthota    schedule 04.11.2015    source источник
comment
Да, вы можете иметь несколько проектов в одном проекте.   -  person Neela    schedule 04.11.2015
comment
A, B, Z, X, Y — все модули. В котором X, Y, Z — тип библиотеки, а A, B — тип приложения.   -  person Neela    schedule 04.11.2015
comment
Спасибо @Neela. Я полагаю, вы имели в виду несколько приложений в одном проекте. Правильный ?   -  person acthota    schedule 04.11.2015
comment
Да это.. Актота..   -  person Neela    schedule 04.11.2015


Ответы (1)


В одном проекте Android действительно может быть несколько приложений, хотя вы можете спорить о преимуществах наличия нескольких приложений в одном проекте, если они не связаны между собой.

В любом случае, это вполне разумно, если у вас есть несколько версий одного и того же приложения с некоторыми различиями между ними (целевые устройства, брендинг...). В этом случае система сборки Gradle позволяет вам иметь варианты сборки (каждый вариант сборки представляет собой комбинацию разновидности продукта и типа сборки) . Согласно официальной документации (Настройка сборок Gradle > Работа с вариантами сборки):

Система сборки использует разновидности продукта для создания различных версий вашего приложения. Каждая версия продукта вашего приложения может иметь разные функции или требования к устройству. Система сборки также использует типы сборки для применения различных параметров сборки и упаковки к каждой версии продукта. Каждая комбинация вкуса продукта и типа сборки образует вариант сборки. Система сборки создает разные APK для каждого варианта сборки вашего приложения.

person José González    schedule 17.02.2016