android模块和flavor之间的主要区别是什么?
来自模块定义https://developer.android.com/studio/projects/add-app-module.html
模块为应用程序的源代码,资源文件和应用程序级别设置提供容器,例如模块级构建文件和Android清单文件。每个模块都可以独立构建,测试和调试。
但我可以对口味说同样的话。
有人可以指出这两者之间的主要区别吗?
答案 0 :(得分:1)
模块是项目的一部分,而风味或多或少是配置/实现
模块的具体示例: 如果你正在建立一个图书馆,你可以有几个模块,例如图书馆本身和一个演示项目。每个都是模块
注意:每个模块都有自己的代码
香精的具体例子: 您正在使用一些在线功能制作应用程序。为此,您有几个环境(在服务器上用于测试,一个用于实时版本)。 您可以使用自己的配置(以及自己的实现,如果需要)为每个环境创建构建风格
注意:flavor可以共享其代码(使用主文件夹)
这只是一个简短的结论。模块和Flavors比这个简短的描述更强大,但我认为它将指出最重要的差异
编辑:关键区别在于您的项目结构,尤其是关于gradle。
模块总是有自己的gradle文件,所以你得到以下结构:
projectName.gradle
module1.gradle
module2.gradle
...
flavor在模块的gradle文件中定义:
e.g。 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
答案 1 :(得分:0)
模块是完全不同的文件集。 味道可以共享大部分代码或配置,只有很小的差异。