【发布时间】:2017-06-28 08:53:53
【问题描述】:
首先,我是整个 Xamarin 生命周期、构建工具和术语的完整初学者,如果这在某些措辞中非常基本/不正确,非常抱歉。
我们有一个Example.sln 文件,其中包含以下项目定义;一款适用于 Android,一款适用于 iOS:
Project("{...}") = "Example", "Example\Example\Example.csproj", "{...}"
EndProject
Project("{...}") = "Example.Droid", "Example\Example.Droid\Example.Droid.csproj", "{...}"
EndProject
Project("{...}") = "Example.iOS", "Example\Example.iOS\Example.iOS.csproj", "{...}"
EndProject
我目前正在尝试在命令行上使用xbuild 构建只是iOS 项目。我的问题是是否有办法在xbuild 标志上指定它;例如尝试使用/t:Example.ios:Build 和类似的东西,但没有运气。所以我只是尝试解绑 Android 项目并运行:
$ xbuild /p:Configuration="Ad-Hoc" \
/p:Platform="iPhone" \
/p:IpaPackageDir="./Builds" \
/t:Build Example.sln
我猜,由于.sln 上的 Droid 项目仍然在 iOS 之前,因此在寻找 Android SDK 时失败了:
/Users/ci/Example-app/Example.sln (Build) ->
(Build target) ->
/Users/ci/Example-app/Example/Example.Droid/Example.Droid.csproj (default targets) ->
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets (_BuildSdkCache target) ->
: error XA5205: The Android SDK Directory could not be found. Please set via /p:AndroidSdkDirectory.
暂时从解决方案中删除 Android 项目可以解决问题(保留 Example\Example.Droid 文件但注释掉 2 行),但这对我来说并不是最理想的,即也许在其他一些 CI 工作中我只想构建 Android应用等
谢谢!
【问题讨论】: