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

时间:2016-06-17 21:05:21

标签: android macos azure-devops azure-pipelines-build-task azure-pipelines

我已在MacBook Pro上配置了VSTS代理,当我手动运行它时(使用./run.sh),它可以正常工作。

但是,当我将VSTS代理配置为作为服务运行(使用./svc.sh install./svc.sh start)并在VSTS中对新版本进行排队时,我收到错误(在签名步骤中)“ANDROID_HOME未设置”。

我在.bash_profile中配置了以下内容:

export ANDROID_HOME=/Users/$(whoami)/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

路径正确,并且正在运行echo $ANDROID_HOME会返回预期值(在本例中为/Users/mvanbeusekom/Library/Android/sdk)。

有人知道可能出现什么问题吗?

1 个答案:

答案 0 :(得分:11)

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

# 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