Android Studio 3库模块和功能模块之间的区别

时间:2017-06-30 03:26:37

标签: android android-studio android-instant-apps android-studio-3.0

在Android Studio 3中,至少有两种新模块类型。首先是Instant app module,第二个是feature module。使用Instant App module时非常明显,但feature module从我的角度来看与library module相同。那么libraryfeature模块之间的真正区别是什么?我何时应该使用library module以及何时使用feature module

5 个答案:

答案 0 :(得分:6)

我会像这样完成Marcin Orlowski计划。 您可以使用与给定功能或基本模块的依赖关系相同的方式对库模块进行映像。

因此,库模块不会打包在Instant APP APK中。

enter image description here

答案 1 :(得分:3)

这一切都适用于即时应用,所以只有在您的应用支持即时应用功能时才需要它

enter image description here

请参阅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。