ANDROID_HOME 未设置(VSTS 代理 运行 作为 OS X 上的服务)

ANDROID_HOME not set (VSTS agent running as service on OS X)

我已经在我的 MacBook Pro 上配置了 VSTS 代理,当我手动 运行 它(使用 ./run.sh)时它工作得很好。

然而,当我将 VSTS 代理配置为 运行 作为服务(使用 ./svc.sh install./svc.sh start)并在 VSTS 中排队新构建时,我收到一个错误(在签名时步骤)"ANDROID_HOME not set"。

我在 .bash_profile:

中配置了以下内容
export ANDROID_HOME=/Users/$(whoami)/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

路径正确,运行宁 echo $ANDROID_HOME returns 预期值(在本例中 /Users/mvanbeusekom/Library/Android/sdk)。

有人知道哪里出了问题吗?

在您的代理文件夹中,有一个名为 runsvc.sh 的文件。在那里添加您的出口。您会看到一条注释掉的行,提示您将环境设置放在哪里:

# insert anything to setup env when running as a service
export ANDROID_HOME=/Users/$(whoami)/Library/Android/sdk

确保重新启动服务。

.bash_profile 对您不起作用的原因是该服务在运行时无法访问它。

我遇到了同样的问题并在这里找到了解决方案:https://github.com/Microsoft/vsts-tasks/issues/1726#issuecomment-219725321

对于那些使用 Xamarin 进行开发的人,您通常需要这个:

# insert anything to setup env when running as a service
export ANDROID_HOME=/Users/$(whoami)/Library/Developer/Xamarin/android-sdk-macosx