[英]Android Studio 3 difference between library module and feature module
在 Android Studio 3 中,至少有两种新的模块类型。 第一个是Instant app module
,第二个是feature module
。 使用Instant App module
很明显,但从我的角度来看, feature module
与library module
相同。 那么library
和feature
模块之间的真正区别是什么,什么时候应该使用library module
,什么时候应该使用feature module
?
功能模块是应用com.android.feature插件的模块。
这种模块类型具有双重性质:
在构建期间由应用程序(com.android.application) 使用时,它会生成一个 aar 并且就像一个库一样工作
当被 Instant App APK (com.android.instantapp) 使用时,它会生成一个 Instant App APK 开发人员应该像库模块一样编写功能模块。 提供的工具负责在构建期间使用时应用正确的性质。
在最简单的情况下,免安装应用可以有一个功能模块。 如果特性模块不止一个,这些特性到特性的依赖可以通过api配置来定义。 在任何情况下,都必须只有一个标记有 baseFeature 属性的基本特征。
主要来源: https : //codelabs.developers.google.com/codelabs/android-instant-apps/#3
这一切都适用于 Instant Apps,因此只有在您的应用程序支持即时应用程序功能时才需要它
请参阅https://developer.android.com/topic/instant-apps/getting-started/structure.html#basic-app
Android SDK是核心功能和软件工具,可让您为 Android 平台创建应用程序。 SDK 包含许多用于开发应用程序的库和工具。
库是预编译代码的集合,可用于扩展应用程序的功能。 例如,您可能需要在应用程序中显示一些图形。 您可以选择使用其他人开发的预建库,而不是从头开始创建,这将为您提供所需的功能,从而为您节省一些时间。
模块是应用程序的一小部分,可以单独进行测试和调试,而无需整个应用程序。 这对于任何编程语言都是一样的。 假设您正在构建具有登录功能的应用程序。 要测试登录功能是否有效,您不需要整个应用程序。 因此,登录部分是应用程序的一个模块。
app 模块构建一个应用程序。 库模块构建库。
应用程序是用户使用的东西。 app 模块的输出是一个 APK,一个 Android 应用程序的包。
库是一组代码,表示您希望在多个应用程序中使用的内容,或者希望与应用程序代码的其余部分保存在单独的“容器”中的内容。 库模块的输出是 AAR 和 Jar。
将Feature用于您的免安装应用的链接功能(通过深层链接启动它)。
将库用于您的应用程序或功能模块中的代码依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.