【发布时间】:2020-05-04 08:26:10
【问题描述】:
我的 Android Studio 项目使用来自 gradle 的 git(在构建的工件中包含 git SHA-1):
def getGitVersion = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--short', 'HEAD'
standardOutput = stdout
}
return stdout.toString().trim()
}
在 Linux 和 Mac 上这工作得很好,但在 Windows 上我得到以下结果:
Caused by: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':app'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:92)
...
... 75 more
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'git''
at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:232)
...
... 3 more
Caused by: net.rubygrapefruit.platform.NativeException: Could not start 'git'
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
...
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:70)
... 4 more
我正在使用 Git Bash,并且已将 git.exe 的路径添加到我的系统 和 用户环境变量中。
如果我在 Android Studio 中启动一个终端,它的路径上也有 git.exe。但是当 AS 启动 gradle 来构建我的项目时,显然 Gradle 找不到git.exe。
我找不到 gradle 的任何后台服务或守护进程,认为修改环境变量后重新启动进程可能是问题所在。 那么是什么导致我的 build.gradle 无法执行 git 呢? Gradle 是否有自己的带有自定义环境的 shell?
【问题讨论】:
标签: android-studio gradle git-bash