Answers:
“ buildscript
”配置部分用于gradle本身(即,更改gradle能够执行构建的方式)。因此,本节通常将包括Android Gradle插件。
“ allprojects
”部分适用于Gradle正在构建的模块。
通常情况下,两者的资源库部分都是相同的,因为两者通常都从jcenter(或可能是Maven Central)获取依赖。但是“依赖项”部分将有所不同。
通常,“ allprojects”的“ dependencies”部分为空,因为每个模块的依赖关系都是唯一的,并且将在每个模块的“ build.gradle”文件中。但是,如果所有模块共享相同的依赖项,则可以在此处列出它们。
TL; DR:buildscript
帮助查找插件,allprojects
适用于所有项目
https://docs.gradle.org/current/userguide/userguide_single.html#applyPluginBuildscript说
通过将插件添加到构建脚本类路径中,然后应用该插件,可以将已发布为外部jar文件的二进制插件添加到项目中。
因此,您需要buildscript
gradle才能找到插件,例如
Gradle的核心故意为现实世界的自动化提供了很少的东西。插件添加了所有有用的功能,例如编译Java代码的功能。插件添加新任务(例如JavaCompile),域对象(例如SourceSet),约定(例如Java源位于src / main / java),以及扩展核心对象和其他插件的对象。
Project API提供了一个属性
allprojects
,该属性返回一个列表,其中包含当前项目及其下的所有子项目。如果allprojects
使用闭包进行调用,则闭包的语句将委派给与关联的项目allprojects
。
build.gradle
不是build.gradle
该问题所在的目录中