Gradle Multiproject vs Android ароматизаторы - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь создать два android приложения с общим кодом, поэтому я документировал на Gradle Flavor и multiproject.

Ограничения для проекта:

  • App-A и App-B зависит от common
  • App-A и App-B не знают друг друга.
  • App-A будет иметь некоторые функции, которые не существует в App-B и common
  • App-B будет иметь некоторые функции, которые не существуют в App-A и common
  • App-A и App-B будет иметь свой собственный AndroidManifest.xml

Я тоже пытаюсь использовать шаблон проектирования MVP, я не знаю, будет ли он иметь какое-либо влияние на проект.

Я думал об использовании архитектуры, которая бы выглядела следующим образом.

|--- Common
        |--- src
            |--- main
            |   |--- java
|--- App-A
        |--- src
            |--- main
            |   |--- java // For specific code
|--- App-B
        |--- src
            |--- main
            |   |--- java // For specific code

Вариант использования: Например, мне нужно добавить функцию на MainActivity из AppA. Могу ли я просто расширить / реализовать класс / интерфейс в App-A, чтобы добавить эту функцию, или мне нужно скопировать все из MainActivity из main?

Я видел несколько советов по использованию BuildConfig.FLAVOR в качестве он доступен и может различать вкус, однако я обратил внимание на обратный инжиниринг образца, который я сделал, что он создает оба MainActivity.

Screenshot 2020-02-21 at 17.06.03|538x274, 50%

Должен ли я беспокоиться о размер моего APK становится намного больше при использовании аромата?

Что бы вы порекомендовали мне сделать?

...