三个依赖关系之间的差异

时间:2018-02-14 09:03:55

标签: android android-gradle build.gradle

在一个例子中,我在build.gradle中看到了三个依赖块。 例: 根文件夹:build.gradle 1。

buildscript{
 dependencies{
 }
}

2.在android块下

android{
 dependencies{
 }
}
  1. 我在根文件夹

    上看到另外一个依赖项

    buildscript{ } dependencies{ } android{ }

  2. 在Android开发者网站中已经解释了前两个。 1st:适用于完整项目 第二:每个模块。

    我不明白第三个依赖块意味着什么。

2 个答案:

答案 0 :(得分:1)

这有点令人困惑,因为Android Studio默认显示两个build.gradle文件紧挨着(使用Android视图时)。

enter image description here

如果切换到项目视图,您可以看到实际结构以及不同build.gradle文件的位置。

enter image description here

build.gradle(Project:MyApplication)文件位于项目的根文件夹中,其配置设置适用于项目中的每个模块。模块是较大项目的一个孤立的部分。在一个多模块项目中,这些模块有自己的工作,但它们共同构成整个项目。大多数Android项目只有一个模块,即app模块。

此处的build.gradle(Module:app)文件位于app文件夹中。其构建设置仅适用于app模块。如果有另一个模块,那么它也有自己的build.gradle文件。作为example,我创建了一个包含三个模块的库项目:库模块,演示应用程序模块和我计划用于测试的另一个应用程序模块。他们每个人都有自己的build.gradle文件,我可以调整。

enter image description here

在基本项目中,您需要编辑的几乎所有内容都将位于应用模块的build.gradle文件中。你可以这样记住:

  

您正在制作应用,因此请转到build.gradle(模块: app )文件。

进一步阅读

答案 1 :(得分:0)

  

在Android开发者网站中已经解释了前两个。第1期:适用于完整项目第2期:每个模块。

这不准确。

可以在根级别中指定buildscript块,也可以在模块build.gradle文件中指定。{ 这些dependencies块仅控制buildscript进程本身的依赖关系,而不是应用程序代码。

  

2.在android块下

android{
 dependencies{
 }
}

不是正确 正确的语法是:

android {
  ...
}
...
dependencies {
    ...
}

不要将这些依赖项放在顶级文件中。