为什么我不能在 preReleaseBuild 任务上设置任务依赖性,但 preBuild 任务有效?

Why can't I set a task dependency on preReleaseBuild task, but preBuild task works?

如何设置对这两个任务的依赖? preReleaseBuildpreDebugBuild

我想做以下事情:

preReleaseBuild.dependsOn switchToRelease
preDebugBuild.dependsOn switchToDebug

但是我得到这个错误:

Error:(251, 0) Could not find property 'preReleaseBuild' on project ':app'.

这两个任务显然存在,因为我在 运行 gradle assembleRelease

时看到了它们
Zaks-MBP:androidapp zak$ gradle assembleRelease
Parallel execution is an incubating feature.
:analytics:compileJava
:app:gce2retrofit-release
:feed:compileJava
:gcm:compileJava
:backend:processResources UP-TO-DATE
:app:gce2retrofit-release UP-TO-DATE
:app:preBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
:app:checkReleaseManifest
:app:preDebugBuild UP-TO-DATE

需要使用afterEvaluate

afterEvaluate {
    preReleaseBuild.dependsOn switchToRelease
    preDebugBuild.dependsOn switchToDebug
}