在Android Studio 3中,至少有两种新模块类型。首先是Instant app module
,第二个是feature module
。使用Instant App module
时非常明显,但feature module
从我的角度来看与library module
相同。那么library
和feature
模块之间的真正区别是什么?我何时应该使用library module
以及何时使用feature module
?
答案 0 :(得分:6)
答案 1 :(得分:3)
这一切都适用于即时应用,所以只有在您的应用支持即时应用功能时才需要它
请参阅https://developer.android.com/topic/instant-apps/getting-started/structure.html#basic-app
答案 2 :(得分:3)
功能模块是应用 com.android.feature 插件的模块。
此模块类型具有双重性质:
在构建期间由应用程序(com.android.application)使用时,它会生成aar并且就像库一样工作
当使用即时应用APK (com.android.instantapp)时,它会生成一个即时应用APK 开发人员应该像库模块一样编写功能模块。提供的工具负责在构建期间使用正确的性质。
在最简单的情况下,Instant应用程序可以有一个功能模块。 如果有多个要素模块,则这些要素具有功能 可以通过api配置定义依赖关系。在任何 例如,必须只有一个标有a的基本特征 baseFeature属性。
主要来源: https://codelabs.developers.google.com/codelabs/android-instant-apps/#3
答案 3 :(得分:1)
将功能用于即时应用的链接功能(使用深层链接启动它)。
在您的应用或功能模块中使用库来代码依赖。
答案 4 :(得分:0)
Android SDK 是允许您为Android平台创建应用的核心功能和软件工具。 SDK包含许多用于开发应用程序的库和工具。
库是预先构建的编译代码的集合,您可以使用它来扩展应用程序的功能。例如,您可能需要在应用程序中显示一些图形。您可以选择使用其他人开发的预先构建的库,而不是从头开始创建,这将为您提供所需的功能,从而节省您的时间。
模块是应用程序的一小部分,可以自行测试和调试,无需整个应用程序。对于任何编程语言都是如此。假设您正在构建具有登录功能的应用程序。要测试登录功能是否有效,您不需要整个应用程序。因此,登录部分是您的应用程序的模块。
app模块构建应用。库模块构建库。
应用程序是用户使用的。应用程序模块的输出是一个APK,即Android应用程序的包。
库是一组代码,表示您希望在多个应用程序中使用的内容,或者希望保留在与应用程序代码的其余部分不同的“容器”中的内容。库模块的输出是AAR和Jar。