Quick background, we have been using Xamarin 4.0.4.4 for a while (I know it's dated) and I'm trying to get our developers moved up to the latest (4.2.2.11). Works great locally, but I installed it on our build server that uses CruiseControl.net (to be replaced some day....). We have a few tasks that run as we build Android along with other platforms. The issue is with the latest Xamarin, it seems that msbuild of the android release from the command line will start the 'adb.exe' process, and it will never kill the process. The problem with this is that the CCNet task is waiting for the adb.exe process to stop as it was started from the msbuild task. Using Xamarin 4.0.4.4 it does NOT start adb.exe. Our build hangs until it reaches an hour timeout and fails.
Any ideas as to why it would start adb.exe when command line building an android release build? I bumped up msbuild to verbose, and searched for adb. I see this quite a bit (I changed a few names of folders for posting here):
Target "_GetPrimaryCpuAbi: (TargetId:12191)" in file "C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.Debugging.targets" from project "C:\OurBuildFolderName\Build\src\SomeProject\SpeechManager\SpeechManager.and.csproj" (target "_CheckInstantRunCondition" depends on it):
Using "GetPrimaryCpuAbi" task from assembly "C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Build.Debugging.Tasks.dll".
Task "GetPrimaryCpuAbi" (TaskId:18223)
Task Parameter:ToolPath=C:\Users\UserName\AppData\Local\Android\android-sdk\platform-tools\ (TaskId:18223)
Task Parameter:AndroidPackage=PNet.SpeechManager (TaskId:18223)
Task Parameter:OnMultipleTargetsDetected=ignore (TaskId:18223)
Adb Task: (TaskId:18223)
ToolPath: C:\Users\UserName\AppData\Local\Android\android-sdk\platform-tools\ (TaskId:18223)
ToolExe: adb.exe (TaskId:18223)
OnMultipleTargetsDetected: ignore (TaskId:18223)
C:\Users\autobuild\AppData\Local\Android\android-sdk\platform-tools\adb.exe devices (TaskId:18223)
FoundDevices: False (TaskId:18223)
Output Property: _DeviceSdkVersion=0 (TaskId:18223)
Done executing task "GetPrimaryCpuAbi". (TaskId:18223)
If it's intended behavior to start this process and not stop it upon a successful build, then I guess we'll have to stay on our older Xamarin and start working on a better build server (Jenkins!).
Thanks!