在 Android Studio 3 中,至少有两种新的模块类型。第一种是 Instant App 模块
,第二种是 feature 模块
。关于 Instant App 模块
很明显,但从我的角度来看,feature 模块
和 library 模块
是相同的。那么,library 模块
和 feature 模块
的真正区别是什么?我应该在何时使用 library 模块
,何时使用 feature 模块
?
在 Android Studio 3 中,至少有两种新的模块类型。第一种是 Instant App 模块
,第二种是 feature 模块
。关于 Instant App 模块
很明显,但从我的角度来看,feature 模块
和 library 模块
是相同的。那么,library 模块
和 feature 模块
的真正区别是什么?我应该在何时使用 library 模块
,何时使用 feature 模块
?
一个功能模块是应用了 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。