GradleWare的书 - Building and Testing with Gradle - 在1.1节中说明了以下内容: “每个Gradle构建文件都是可执行的Groovy脚本。”
但是,当我在GroovyConsole中运行build.gradle文件时,它给了我这个错误:
groovy.lang.MissingMethodException:没有方法签名: build.apply()适用于参数类型: (java.util.LinkedHashMap)值:[[plugin:android-library]]可能 解决方案:any(),any(groovy.lang.Closure),every(), every(groovy.lang.Closure),split(groovy.lang.Closure)at build.run(的build.gradle:1)
它指的是第1行:
apply plugin: 'android-library'
在构建脚本中:
apply plugin: 'android-library'
dependencies {
compile 'com.android.support:support-v4:18.0.+'
}
android {
compileSdkVersion 14
buildToolsVersion '17.0.0'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
那么请你澄清一下这本书的陈述是正确还是错误?
谢谢你, Igor Ganapolsky
答案 0 :(得分:1)
声明不应按字面意思理解。无法使用普通的Groovy运行Gradle脚本,就像网页上的Javascript代码段无法在浏览器外部的纯JavaScript引擎中运行一样。
答案 1 :(得分:1)
可以将任务添加到gradle构建文件以启动Groovy控制台,但如下所述:
http://piraguaconsulting.blogspot.com.br/2012/02/gradle-groovy-console.html
相关的代码段是:
task(console, dependsOn: 'classes', type: JavaExec) {
main = 'groovy.ui.Console'
classpath = sourceSets.main.runtimeClasspath
}
答案 2 :(得分:1)
严格说来,gradle生成文件不是俗套的。 它是一种脚本语言,又名编写。因此,您需要gradle分发来运行任何gradle文件,请参阅:https://gradle.org/install/