TeamCity,Android,Gradle 脚本失败

TeamCity, Android, Gradle Script failure

我一直在努力让 TeamCity 构建我的 Android 项目。我终于让服务器能够使用 Gradlew 编译项目(尽管我必须忽略 lint 错误,我对此并不满意 - 它不会告诉我违反了哪些 lint 错误 EDIT: 我在..\build\outputs\lint-results.html)

找到了

但现在我可以看到它正在尝试执行以下操作:

C:\TeamCity\buildAgent\work4714bad9f1a533\MyProject>gradlew.bat --init-script C:\TeamCity\buildAgent\plugins\gradle-runner\scripts\init.gradle clean build

我收到以下错误:

FAILURE: Build failed with an exception.

* Where:
Initialization script 'C:\TeamCity\buildAgent\plugins\gradlerunner\scripts\init.gradle' line: 31

* What went wrong:
A problem occurred evaluating initialization script.
> Cannot invoke method split() on null object

我检查了这一行,它看起来相当标准:

initscript {
    dependencies {
        def teamCityInitLib = System.getenv("TEAMCITY_BUILD_INIT_PATH")
        println "Init lib: ${teamCityInitLib}"
        def classPathFiles = teamCityInitLib.split(File.pathSeparator) //line 31
        classpath files(classPathFiles)
    }
}

谁能帮帮我?注意:以下命令可以正常工作:

gradlew.bat clean build

您的构建机器上的 PATH 中似乎没有 TEAMCITY_BUILD_INIT_PATH 变量。您可以通过标准方式添加它,具体取决于 OS,或者通过将其添加到构建配置步骤中的构建参数。

似乎找不到构建文件。至少,支持人员是这么告诉我的。对我来说,这是一个 TeamCity 错误,而不是在我这边。当我发现更多时,我会 post 它。

在寻找从命令行模拟 TC 构建的方法并试图了解如何设置 TEAMCITY_BUILD_INIT_PATH.

时发现了这个 post

在我的环境中,我确定它设置为: /apps/teamcity-agent/agent/lib/serviceMessages.jar:/apps/teamcity-agent/agent/lib/runtime-util.jar:/apps/teamcity-agent/agent/plugins/gradle-runner/lib/gradle-runner-common.jar

其中 /apps/teamcity-agent 是我的 TC 安装路径。 希望这有帮助。