【问题标题】:Android Studio 3 difference between library module and feature moduleAndroid Studio 3 库模块和功能模块的区别
【发布时间】:2017-06-30 03:26:36
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 而且 Lib D 也应该可用于功能 1 和功能 2。
    【解决方案2】:

    功能模块是应用 com.android.feature 插件的模块。

    这种模块类型具有双重性质:

    • 当应用程序(com.android.application)在构建过程中使用它时,它会产生一个aar并像库一样工作

    • 当被 Instant App APK (com.android.instantapp) 使用时,它会生成一个 Instant App APK 开发人员应该像库模块一样编写功能模块。提供的工具负责在构建期间应用正确的性质。

    在最简单的情况下,Instant 应用可以只有一个功能模块。 如果有多个功能模块,这些功能到功能 依赖可以通过api配置来定义。在任何 在这种情况下,必须只有一个基本特征标有 baseFeature 属性。

    主要来源:https://codelabs.developers.google.com/codelabs/android-instant-apps/#3

    【讨论】:

      【解决方案3】:

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

      https://developer.android.com/topic/instant-apps/getting-started/structure.html#basic-app

      【讨论】:

      • 这是否意味着我不能将库模块用于即时应用程序?
      【解决方案4】:

      Android SDK 是核心功能和软件工具,可让您为 Android 平台创建应用程序。 SDK 包含许多您将用于开发应用程序的库和工具。

      是一组预构建的编译代码,您可以使用它们来扩展应用程序的功能。例如,您可能需要在应用程序中显示一些图形。您可以选择使用其他人开发的预构建库,而不是从头开始创建它,这将为您提供所需的功能,从而节省您一些时间。

      模块是应用程序的一小部分,可以自行测试和调试,而不需要整个应用程序。这对于任何编程语言都是一样的。假设您正在构建一个具有登录功能的应用程序。要测试登录功能是否有效,您不需要整个应用程序。因此,登录部分是您的应用程序的一个模块。

      app 模块 构建一个应用。一个库模块构建一个库。

      应用是用户使用的东西。一个应用模块的输出是一个APK,一个Android应用的包。

      是代码的集合,代表您希望在多个应用程序中使用的内容,或者希望将其保存在与应用程序代码的其余部分不同的“容器”中。库模块的输出是一个 AAR 和 Jar。

      【讨论】:

      • 问题是关于Android Studio中库模块和功能模块之间的差异,而不是库和模块的差异
      【解决方案5】:

      功能用于您的免安装应用的链接功能(通过深度链接启动它)。

      在您的应用或 Feature 模块中使用 Library 来获取代码依赖性。

      【讨论】:

        猜你喜欢
        • 2023-04-07
        • 2017-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-29
        • 2021-12-17
        • 1970-01-01
        相关资源
        最近更新 更多