繁体   English   中英

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

[英]Android Studio 3 difference between library module and feature module

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

我会像这样完成 Marcin Orlowski 计划。 您可以以与给定功能或基本模块的依赖项相同的方式绘制库模块。

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

在此处输入图片说明

功能模块是应用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM