与Android Studio相关的build.gradle文件中无法访问的几个任务
我在安卓工作室发现了一种奇怪的行为 我想访问module 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
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}}