java - 添加Groovy脚本以通过Gradle Android运行

标签 java android groovy gradle build.gradle

我想在Gradle在Android中构建调试apk之前运行一些常规脚本。

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'
}

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

堆栈跟踪

15:24:22.688 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTING 15:24:22.689 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Waiting until process started: command './Batch.groovy'. 15:24:22.693 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED 15:24:22.693 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'command './Batch.groovy'' finished with exit value -1 (state: FAILED) 15:24:22.695 [DEBUG] [org.gradle.configuration.project.BuildScriptProcessor] Timing: Running the build script took 1.866 secs 15:24:22.798 [ERROR] [org.gradle.BuildExceptionReporter] 15:24:22.799 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception. 15:24:22.799 [ERROR] [org.gradle.BuildExceptionReporter] 15:24:22.800 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong: 15:24:22.800 [ERROR] [org.gradle.BuildExceptionReporter] A problem occurred evaluating project ':app'. 15:24:22.800 [ERROR] [org.gradle.BuildExceptionReporter] > A problem occurred starting process 'command './Batch.groovy'' 15:24:22.801 [ERROR] [org.gradle.BuildExceptionReporter] 15:24:22.801 [ERROR] [org.gradle.BuildExceptionReporter] * Try: 15:24:22.801 [ERROR] [org.gradle.BuildExceptionReporter] Run with --stacktrace option to get the stack trace. 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'))
}

最佳答案

在Groovy shell中运行任务可以解决问题。

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

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

关于java - 添加Groovy脚本以通过Gradle Android运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33611335/

相关文章:

java - Groovy 无法实现使用继承和泛型的 Java 接口(interface)

java - 尝试使用 servlet 和 jsp 插入 mysql 时出现错误

java - 具有递归类型参数的类上的 Scala classOf

java - 为什么每当我在父类 - Android 中触发一个操作时,我的子类方法总是被调用?

android - Eclipse - 带有 Android 7 的空 Logcat

json - java.lang.NoSuchMethodError:没有这样的DSL方法 'readJSON'

groovy - 无法插入敏感的环境变量

java - 如何在 java 中将 Progression 类重新设计为抽象和通用的?

java - Android Studio Animation 类 hasStarted 方法无法正常工作

android - built_value 与 flutter_test 存在依赖冲突