找不到方法commandLine()

时间:2016-03-23 18:01:15

标签: android android-studio gradle

我正在尝试在gradle / Android-Studio版本中添加pre-pre-build shell脚本。我已将以下内容添加到app/build.gradle

task prePreBuild << {
  commandLine 'ls'
}
preBuild.dependsOn prePreBuild

当我使用./gradlew assembleDebug调用我的构建时,我收到以下错误:

Could not find method commandLine() for arguments [ls] on project ':app'

如果我用commandLine替换println 'Hello'行,那么它可以正常工作,我可以看到新任务的输出。

我搜索了“无法找到方法commandLine”的其他提及但没有找到任何内容。从此gradle任务调用shell脚本的正确方法是什么?

1 个答案:

答案 0 :(得分:22)

您需要指明任务的类型或使用exec块:

task execute(type: Exec) {

}

exec {

}

您可以在https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Exec.html

上找到更多信息