Android 使用路径别名指向文件夹会导致渐变错误

Android 使用路径别名指向文件夹会导致渐变错误,android,jenkins,gradle,Android,Jenkins,Gradle,为了指向Jenkins节点上构建工件的位置,我们有以下gradle代码: def apks = file("$WORKSPACE/app/build/outputs/build-apks.tar.gz") artifacts { archives apks } 当我使用如下所示的完整路径时,gradle构建得很好 def apks = file("/var/jenkins/workspace/ui_manager_nexusDeploy/app/buil

为了指向Jenkins节点上构建工件的位置,我们有以下gradle代码:

def apks = file("$WORKSPACE/app/build/outputs/build-apks.tar.gz")

artifacts {
    archives apks
}
当我使用如下所示的完整路径时,gradle构建得很好

def apks = file("/var/jenkins/workspace/ui_manager_nexusDeploy/app/build/outputs/build-apks.tar.gz")
当我们使用$WORKSPACE时,我得到

无法获取项目的未知属性“WORKSPACE”:类型为“org.gradle.api.project”的应用程序。路径


理想情况下,我希望使用指针,而不是硬编码路径。在这个参考文档中,您可以看到Gradle使用$buildDir很好。https://docs.gradle.org/current/userguide/working_with_files.html

能否尝试通过“$System.env.workspace”访问工作空间变量? 例:


服务器上哪里定义了
$WORKSPACE
。当我运行“echo$WORKSPACE”时,我会打印出路径。我在同一台机器上运行Gradle build。因此
WORKSPACE
是一个环境变量。不能直接访问Gradle中的环境变量,只能访问Gradle构建脚本中定义的属性或变量。使用
def WORKSPACE=System.getenv(“WORKSPACE”)
将环境变量加载到Gradle中。然后可以在字符串中使用它。
def apks = file("$System.env.WORKSPACE"+"/app/build/outputs/build-apks.tar.gz")