В Android Studio 3 есть как минимум два новых типа модулей. Первый Instant app module
, а второй feature module
. С Instant App module
это совершенно очевидно, но feature module
с моей точки зрения такое же, как library module
. Так в чем реальная разница между модулями library
и feature
и когда я должен использовать library module
и когда feature module
?
Отличие Android Studio 3 между библиотечным модулем и функциональным модулем
Ответы (5)
Я бы завершил схему Марчина Орловски так. Вы можете изобразить библиотечный модуль так же, как зависимости данной функции или базового модуля.
Следовательно, модули библиотеки не будут упакованы в Instant APP APK.
Функциональный модуль — это модуль, который применяет подключаемый модуль com.android.feature.
Этот тип модуля имеет двойную природу:
При использовании приложением (com.android.application) во время сборки оно создает aar и работает так же, как библиотека.
При использовании APK приложения с мгновенным запуском (com.android.instantapp) создается APK приложения с мгновенным запуском. Разработчики должны создавать функциональные модули точно так же, как библиотечные модули. Предоставленные инструменты отвечают за применение правильного характера при использовании во время сборки.
В простейшем случае приложение с мгновенным запуском может иметь один функциональный модуль. Если имеется более одного функционального модуля, эти зависимости между функциями можно определить с помощью конфигурации API. В любом случае должен быть только один базовый объект, отмеченный атрибутом baseFeature.
Основной источник: https://codelabs.developers.google.com/codelabs/android-instant-apps/#3
Это все для мгновенных приложений, поэтому вам это нужно, только если вы делаете свое приложение, поддерживающее функцию мгновенного приложения.
См. https://developer.android.com/topic/instant-apps/getting-started/structure.html#basic-app
Android SDK – это основные функции и программные инструменты, позволяющие создавать приложения для платформы Android. SDK содержит множество библиотек и инструментов, которые вы будете использовать для разработки своего приложения.
Библиотека – это набор предварительно созданного скомпилированного кода, который можно использовать для расширения возможностей вашего приложения. Например, вам может понадобиться показать некоторую графику в вашем приложении. Вместо того, чтобы создавать это с нуля, вы можете использовать предварительно созданную библиотеку, разработанную кем-то другим, которая предоставит вам необходимые функции, что сэкономит вам некоторое время.
Модуль – это небольшая часть приложения, которую можно тестировать и отлаживать самостоятельно, не используя все приложение целиком. Это то же самое для любого языка программирования. Предположим, вы создаете приложение с функцией входа в систему. Чтобы проверить, работает ли функция входа в систему, вам не нужно все приложение. Таким образом, часть входа является модулем вашего приложения.
модуль приложения создает приложение. Библиотечный модуль создает библиотеку.
Приложение — это то, чем пользуется пользователь. Выход модуля приложения — это APK, пакет приложения для Android.
Библиотека – это набор кода, который представляет собой что-то, что вы хотите использовать в нескольких приложениях или иным образом хотите хранить в отдельном "контейнере" от остального кода приложения. Выход библиотечного модуля — это AAR And Jar.
Используйте Feature для связанной функции вашего приложения с мгновенным запуском (чтобы запустить его с помощью deeplink).
Используйте Library для зависимости кода в вашем приложении или в ваших модулях Feature.