如何使用Gradle任务从命令行获取参数?

时间:2020-08-25 15:19:51

标签: android gradle groovy build.gradle

我正在尝试使用Gradle任务从命令行获取参数:

class myApk extends DefaultTask {

    @Option(option="apkName", description="apkName for your file")
    String apkName
    
    @TaskAction
    void uploadApk() {
        def arg = "curl -F \"demo${apkName}.apk=" +
                  "@${project.projectDir}\\app\\build\\outputs\\apk\\debug\\app-debug.apk\" " +
                  "https://URL"
        project.exec {
            commandLine("cmd", "/c", arg)
        }
    }
}
task uploadApk(type: myApk) { }

但是在终端中输入gradle uploadApk --apkName=foo后,我得到了这种异常:

Problem configuring task :app:uploadApk from command line.
> Unknown command-line option '--apkName'.

P.S。我已经阅读了这个主题(How to pass arguments from command line to gradle),但是对于这个问题似乎没有帮助;(

1 个答案:

答案 0 :(得分:1)

由于上面的评论,我使用-P来解决