我已经在MacBook Pro上配置了VSTS代理,当我手动运行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
)。有人知道什么地方可能出问题吗?
最佳答案
在您的代理文件夹中,有一个名为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
关于未设置ANDROID_HOME(在OS X上作为服务运行的VSTS代理),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37890362/