为什么在gradle中删除rootProject.buildDir任务会删除模块中的build目录

ges*_*nri 0 android gradle android-studio

当我在android studio中创建一个新的android项目时,在项目的根目录下,build.gradle文件有一个这样的任务:

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

我在终端用gradlew clean命令运行任务,发现项目根目录下的build目录被删除了,模块中的build目录也被删除了,为什么?我的意思是 rootProject.buildDir 不应该在模块中包含构建目录

Luk*_*fer 5

该命令gradlew clean不仅执行clean您的根项目的clean任务,还执行构建中任何项目的任务。

Android 插件和 Java 插件都已经提供了clean删除构建目录的任务。

对于根项目,没有应用此类插件,这就是手动添加任务的原因。