添加groovy脚本以通过gradle android运行

时间:2015-11-09 14:28:14

标签: java android groovy gradle build.gradle

我想在Android中使用gradle构建调试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)

依赖{   ...     classpath'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6' }

我一直收到错误错误:原因:错误= 13,权限被拒绝

堆栈跟踪

  

15:24:22.688 [DEBUG] [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]>开始出现问题   process'command'./Batch.groovy''15:24:22.801 [ERROR]   [org.gradle.BuildExceptionReporter] 15:24:22.801 [错误]   [org.gradle.BuildExceptionReporter] *尝试:15:24:22.801 [错误]   [org.gradle.BuildExceptionReporter]使用--stacktrace选项运行到   得到堆栈跟踪。 15:24:22.802 [LIFECYCLE]   [org.gradle.BuildResultLogger] 15:24:22.802 [LIFECYCLE]   [org.gradle.BuildResultLogger] BUILD FAILED

更新

在Groovy shell中运行任务就可以了。

task batchTask(type: JavaExec) {
    description 'batchTask in progress'

    new GroovyShell().run(file('Batch.groovy'))
}

1 个答案:

答案 0 :(得分:0)

在Groovy shell中运行任务就可以了。

task batchTask(type: JavaExec) {
    description 'batchTask in progress'

    new GroovyShell().run(file('Batch.groovy'))
}