4

android模块和风味之间的主要区别是什么?

从模块定义 https://developer.android.com/studio/projects/add-app-module.html

模块为您的应用程序的源代码、资源文件和应用程序级设置(例如模块级构建文件和 Android 清单文件)提供了一个容器。每个模块都可以独立构建、测试和调试。

但我可以对口味说同样的话。

有人能指出这两者之间的主要区别吗?

4

2 回答 2

2

模块是项目的一部分,而风味或多或少是配置/实现

模块的具体示例:如果您正在创建一个库,您可以拥有多个模块,例如库本身和一个演示项目。每个都是模块

注意:每个模块都有自己的代码

风味的具体示例:您正在制作具有一些在线功能的应用程序。为此,您有几个环境(在服务器环境上用于测试,一个用于实时版本)。您可以使用自己的配置为每个环境制作构建风格(如果需要,还可以使用自己的实现)

注意:风味可以共享他们的代码(使用主文件夹)

这只是一个简短的结论。模块和风味比这个简短的描述更强大,但我认为它会指出最重要的区别

编辑:关键区别在于您的项目结构,尤其是关于 gradle。

模块总是有自己的 gradle 文件,所以你得到以下结构:

projectName.gradle
    module1.gradle
    module2.gradle
    ...

口味在模块的 gradle 文件中定义:

例如 module1.gradle 可能如下所示:

// some other gradle stuff before

buildTypes {
    dev {
        // your config
    }
    debug {
        // your config
    }
    release {
        // your config
    }
}

如您所见,您可以混合风味和模块。因此,现在您将在 module1 中有一个包含 2 个模块和不同风格的项目。

在您的项目文件夹中,您的文件资源管理器中应该具有以下结构:

/project
  /module1
    /src
      /main
      /dev
      /debug
      /release
  /module2
于 2017-12-11T09:42:44.047 回答
0

模块是完全不同的文件集。Flavors 可以共享大部分代码或配置,并且只有很小的差异。

于 2017-12-11T09:38:23.427 回答