【发布时间】:2016-02-10 05:30:16
【问题描述】:
我想在 gradle 在 Android 中构建调试 apk 之前运行一些 groovy 脚本。
task batchTask(type: JavaExec) {
description 'running tasks'
exec {
commandLine './Batch.groovy'
}
}
将此添加到 build.gradle(app)
apply plugin: 'groovyx.grooid.groovy-android'
android{
...
dependsOn {
batchTask
}
}
dependencies {
...
compile 'org.codehaus.groovy:groovy:2.4.0:grooid'
}
将此添加到 build.grade(android)
依赖{ ... 类路径 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6' }
我不断收到错误 Error:Cause: error=13, Permission denied
堆栈跟踪
15:24:22.688 [调试] [org.gradle.process.internal.DefaultExecHandle] 将状态更改为:STARTING 15:24:22.689 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] 等待处理 开始:命令'./Batch.groovy'。 15:24:22.693 [调试] [org.gradle.process.internal.DefaultExecHandle] 将状态更改为: 失败 15:24:22.693 [调试] [org.gradle.process.internal.DefaultExecHandle] 进程'命令 './Batch.groovy'' 以退出值 -1 结束(状态:FAILED) 15:24:22.695 [调试] [org.gradle.configuration.project.BuildScriptProcessor] 时间: 运行构建脚本需要 1.866 秒 15:24:22.798 [错误] [org.gradle.BuildExceptionReporter] 15:24:22.799 [错误] [org.gradle.BuildExceptionReporter] FAILURE:构建失败 例外。 15:24:22.799 [错误] [org.gradle.BuildExceptionReporter] 15:24:22.800 [错误] [org.gradle.BuildExceptionReporter] * 发生了什么 错误:15:24:22.800 [错误] [org.gradle.BuildExceptionReporter] A 评估项目“:app”时出现问题。 15:24:22.800 [错误] [org.gradle.BuildExceptionReporter] > 开始出现问题 处理'命令'./Batch.groovy'' 15:24:22.801 [错误] [org.gradle.BuildExceptionReporter] 15:24:22.801 [错误] [org.gradle.BuildExceptionReporter] * 尝试:15:24:22.801 [错误] [org.gradle.BuildExceptionReporter] 使用 --stacktrace 选项运行以 获取堆栈跟踪。 15:24:22.802 [生命周期] [org.gradle.BuildResultLogger] 15:24:22.802 [生命周期] [org.gradle.BuildResultLogger] 构建失败
更新:
在 Groovy shell 中运行任务就可以了。
task batchTask(type: JavaExec) {
description 'batchTask in progress'
new GroovyShell().run(file('Batch.groovy'))
}
【问题讨论】:
-
您似乎正在尝试使用
JavaExec任务运行命令行Exec作业? -
可以上传build.grade(android)和build.gradle(app)的截图吗?
-
gradlew assemleDebug --stacktrace
-
@tinysunlight 截图?!?!?!
-
@tim_yates try@noisy ninja's.
标签: java android groovy gradle build.gradle