Я пытаюсь создать два 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.
Должен ли я беспокоиться о размер моего APK становится намного больше при использовании аромата?
Что бы вы порекомендовали мне сделать?