小编典典

build.gradle 中的 buildscript 和 allprojects 有什么区别?

all

在多项目 gradle
构建中,有人能告诉我“allprojects”部分和“buildscript”部分之间到底有什么区别吗?repositories两者都有一个dependencies任务。是allprojects为了我的项目吗?怎么样buildscript

buildscript {  
     repositories {
         ...
     }
     dependencies {
         ...
     }
}

allprojects(subprojects) { 
     repositories {
         ...
     }
     dependencies {
         ...
     }
}

阅读 65

收藏
2022-08-08

共1个答案

小编典典

buildscript” 配置部分用于 gradle 本身(即更改 gradle 执行构建的方式)。所以这个部分通常会包含 Android
Gradle 插件。

allprojects” 部分用于 Gradle 正在构建的模块。

通常两者的存储库部分是相同的,因为两者通常都会从 jcenter(或者可能是 maven Central)获取它们的依赖项。但是“依赖项”部分会有所不同。

通常,“allprojects”的“依赖项”部分是空的,因为每个模块的依赖项都是唯一的,并且将位于每个模块内的“build.gradle”文件中。但是,如果所有模块都共享相同的依赖项,那么它们可以在此处列出。

2022-08-08