运行build.gradle的GroovyConsole
GradleWare的书————在第1.1节中陈述了以下内容: “每个Gradle构建文件都是一个可执行的Groovy脚本。” 但是,当我在GroovyConsole中运行build.gradle文件时,会出现以下错误: groovy.lang.MissingMethodException:没有方法的签名: build.apply()适用于参数类型: (java.util.LinkedHashMap)值:[[插件:android库]]可能 解决方案:any()、any(groovy.lang.Closure)、every(), each(groovy.lang.Closure)、split(groovy.lang.Closure)在 build.run(build.gradle:1) 指第1行:运行build.gradle的GroovyConsole,gradle,android-gradle-plugin,groovy-console,Gradle,Android Gradle Plugin,Groovy Console,GradleWare的书————在第1.1节中陈述了以下内容: “每个Gradle构建文件都是一个可执行的Groovy脚本。” 但是,当我在GroovyConsole中运行build.gradle文件时,会出现以下错误: groovy.lang.MissingMethodException:没有方法的签名: build.apply()适用于参数类型: (java.util.LinkedHashMap)值:[[插件:android库]]可能 解决方案:any()、any(groovy.lang.C
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这句话不能从字面上理解。Gradle脚本不能与普通Groovy一起运行,就像网页上的Javascript片段不能在浏览器外的普通Javascript引擎中运行一样。可以向Gradle构建文件添加任务以启动Groovy控制台,但如下所述: 相关的代码片段是:
task(console, dependsOn: 'classes', type: JavaExec) {
main = 'groovy.ui.Console'
classpath = sourceSets.main.runtimeClasspath
}
严格来说,gradle构建文件不是groovy。
它是一种脚本语言,也就是用groovy编写的DSL(领域特定语言)。因此,您需要gradle发行版来运行任何gradle文件,请参阅:如果stmt不能从字面上理解,那么如何理解它:隐喻还是象征??使用Node.js,JavaScript可以轻松地在浏览器之外运行!你没有明白我的意思。Gradle构建脚本类似于使用DOM和其他浏览器API的JavaScript代码,因此不能在浏览器外部运行。这完全取决于如何定义“可执行Groovy脚本”。它是Groovy脚本吗?对它是可执行的吗?对它可以在任何环境中运行吗?不,我明白了。谢谢你的解释。我认为这篇文档可能会误导Gradle的初学者……Android Studio附带了Gradle,但他在GroovyConsole中运行它,因此他必须导入相关的graddle类,也就是将*.jar添加到类路径中。