本地部署TFS 2018中Xamarin构建无法找到AndroidSDK求助
解决TFS 2018 Xamarin Android构建找不到SDK目录的问题
我来帮你排查这个构建失败的问题,看起来你的TFS 2018构建定义在识别Android SDK路径时遇到了典型的配置疏漏,咱们一步步梳理可能的解决方向:
1. 先确认环境变量的配置有效性
- 检查
AndroidSDK环境变量的实际路径:必须精确指向SDK根目录(比如C:\Program Files (x86)\Android\android-sdk),注意路径里的空格、大小写,不要有多余的符号或拼写错误 - 确认环境变量是系统级变量:TFS构建服务通常以系统账户(比如
NT AUTHORITY\NETWORK SERVICE)运行,所以不能只设置当前登录用户的环境变量,必须添加到「系统变量」列表中 - 重启TFS构建代理服务:修改环境变量后,一定要重启TFS Build Agent服务,否则新的变量值不会被构建进程读取
2. 修正MSBuild附加参数的格式
你提到尝试设置/p:{},这是格式错误导致的无效参数。正确的写法应该是:
/p:AndroidSdkDirectory="C:\Program Files (x86)\Android\android-sdk"
- 路径要加双引号(因为路径包含空格),参数名和值之间不要留空格
- 确保这个参数是添加在Xamarin Android构建步骤的「MSBuild参数」输入框中,不要放到其他步骤里
3. 验证构建代理的目录访问权限
- 检查TFS构建代理运行的账户是否有权限访问Android SDK目录:右键SDK根目录→「属性」→「安全」,确认构建服务账户拥有「读取和执行」权限
- 避免使用相对路径,始终用绝对路径指定SDK位置,防止构建过程中路径解析出错
4. 本地手动验证MSBuild构建
在TFS服务器上,手动打开命令提示符,运行以下命令尝试构建你的项目:
msbuild YourAndroidProject.csproj /t:Build /p:Configuration=Release /p:AndroidSdkDirectory="C:\Program Files (x86)\Android\android-sdk"
- 如果本地手动构建也失败,说明问题出在本地环境配置(比如SDK本身缺失组件、VS2017的Xamarin配置错误),而非TFS构建定义
- 如果本地构建成功,那问题大概率出在TFS构建代理的环境变量读取或权限配置上
5. 确认Xamarin.Android环境变量的正确性
你设置的Xamarin.Android环境变量,应该指向Xamarin.Android的安装目录,比如:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android
同样要确保这是系统变量,并且路径无误。
按照这个顺序排查,应该能快速定位到遗漏的配置点。
内容的提问来源于stack exchange,提问作者JadedEric
相关产品推荐
相关产品推荐

