Как создать несколько мгновенных приложений в одном проекте? - PullRequest
0 голосов
/ 13 января 2019

После прочтения документации и просмотра официальных руководств Google по мгновенным приложениям я обнаружил, что необходимо иметь как минимум один функциональный модуль, «минимальный модуль» (модуль с общим кодом) и полный модуль приложения. Официальное руководство объясняет, как создавать эти модули в одном рабочем пространстве, предназначенном для использования в одном приложении.

Однако в нашем случае у нас много разных приложений в одном проекте Android Studio.

Я могу создать какой-то общий модуль («минимальный модуль» в соответствии с официальным наименованием, насколько я понимаю, документы) с библиотекой поддержки и некоторым общим кодом. На самом деле, этот общий код действительно минимален, и технически единственной общей базой кода достаточно большого размера будет библиотека поддержки (мгновенные приложения не будут совместно использовать какие-либо общие ресурсы, кроме значка запуска).

Можно ли настроить gradle для создания мгновенного приложения для каждого приложения в этом проекте?

1 Ответ

0 голосов
/ 14 января 2019

Это не должно быть проблемой. Когда мгновенные руководства по приложениям ссылаются на модуль, мы обсуждаем здесь «функциональные модули», а не любой модуль Gradle в проекте. То, что вы описываете как общий код, больше похоже на обычный библиотечный модуль.

Для каждого мгновенного приложения вам потребуется как минимум 2 модуля Gradle. Один из них - это функциональный модуль, использующий плагин Gradle. В этом будет построена функция APK, которая поставляется пользователям, и вы можете включить любые библиотеки, которые вам нужны, и они будут частью окончательного APK, как обычное приложение.

Второй модуль будет модулем мгновенного приложения, в котором применяется плагин мгновенного приложения Gradle. Этот зависит только от этого функционального модуля и создает ZIP-архив ваших функциональных APK (в вашем случае, с одним функциональным модулем, всего 1)

Конечно, вы можете свободно использовать варианты для создания всех ваших мгновенных приложений, если вы не хотите создавать эти модули повторно для всех своих приложений.

Не похоже, что вам это понадобится, но если вы хотите разделить свое приложение на несколько функциональных модулей, главным образом для уменьшения общего размера загрузки, то вам нужно будет построить эти функциональные модули поверх "базовой функции". "модуль, который действует как библиотека для мгновенных приложений, но по-прежнему создает отдельный APK.

...