与Android Studio相关的build.gradle文件中无法访问的几个任务

与Android Studio相关的build.gradle文件中无法访问的几个任务,android,gradle,task,Android,Gradle,Task,我在安卓工作室发现了一种奇怪的行为 我想访问module build.gradle文件中的dexDebug任务 apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.testprj.test" minSdkVersion 10

我在安卓工作室发现了一种奇怪的行为

我想访问module build.gradle文件中的
dexDebug
任务

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.testprj.test"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dexDebug.doFirst {
    // do some stuff here
}
但我收到以下错误:
错误:(rowNumber,0)在项目:app上找不到属性“dexDebug”。

这很奇怪,因为我可以通过Android Studio终端通过
gradle dexDebug
调用此任务


原因是什么?

创建自己的任务:

task myTask() {

}
gradle.taskGraph.whenReady { taskGraph ->

    if (taskGraph.hasTask(dexDebug)) { // <-- check if your task is ready
        dexDebug.dependsOn myTask // <-- make it depend on your task
    }
}
dexDebug
之前让您的任务“处理东西”:

task myTask() {

}
gradle.taskGraph.whenReady { taskGraph ->

    if (taskGraph.hasTask(dexDebug)) { // <-- check if your task is ready
        dexDebug.dependsOn myTask // <-- make it depend on your task
    }
}
gradle.taskGraph.whenReady{taskGraph->

如果(taskGraph.hasTask(dexDebug)){//为什么?你想做什么?
gradlew dexDebug
dexDebug.doFirst
不一样。我需要在dexDebug任务运行之前做一些处理。Tanks man。实际上,它与taskGraph的东西不起作用。我找到了一种方法,可以通过以下
任务来实现这一点。whenTaskAdded{task->if(task.name.equals('dexDebug'){task.dependsOn myTask}}