【发布时间】:2020-08-23 16:21:57
【问题描述】:
我正在尝试通过 Gradle 将调试 apk 文件上传到服务器。我为它使用了一个特殊的名称,例如“demo-testing.apk”或“demo-first.apk”。
class Apk extends DefaultTask {
String apkName
@TaskAction
void uploadApk() {
exec {
commandLine(
"cmd",
"-c",
"curl -F \"demo${apkName}.apk=" +
"@${DEFAULT_BUILD_DIR_NAME}/outputs/apk/debug/app-debug.apk\" " +
"https://URL"
)
}
}
}
tasks.register("first", Apk) {
group = 'apkUploads'
description = 'Uploads first apk'
apkName = '-first'
}
但由于此异常,它没有执行(在命令行参数中有正确的 URL):
Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method exec() for arguments [Apk$_uploadApk_closure1@58ed1
b0a] on task ':first' of type Apk.
谁能告诉我我做错了什么?
【问题讨论】:
-
错误信息很清楚:
Task类上没有这样的方法exec:你应该从Project类调用exec(见docs.gradle.org/current/dsl/…)=> @ 987654328@ 而不是exec
标签: android gradle build.gradle