2016-06-17 91 views
4

我已經在我的MacBook Pro上配置了VSTS代理程序,當我手動運行它時(使用./run.sh),它完美工作。ANDROID_HOME未設置(VSTS代理程序在OS X上作爲服務運行)

然而,當我配置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)。

有人知道什麼可能是錯的嗎?

回答

8

在您的代理文件夾中,有一個名爲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 
+0

THX工作就像一個魅力! –

+0

太棒了!樂意效勞! – NovaJoe

+0

另外,如果您不是在服務中運行它,則可以直接將此行添加到run.sh中。我今天遇到了這個問題,不管我做了什麼,除非我在那裏添加它,否則不會撿起它。 – JamesMontemagno

相關問題