Xamarin.Android сборки/развертывания очень медленно. Как ускорить их?

У нас есть большой проект Xamarin.Android с двумя зависимыми проектами и связкой сторонних DLL. Выполнение развертывания отладки (без каких-либо изменений) на эмуляторе Hax-x86 или устройстве Nexus 5 очень медленно ( > 80 секунд). Для сравнения версия Xamarin.iOS приложения развертывается менее чем через семь секунд на реальном устройстве.

Чтобы проверить время развертывания, я также создал новый проект Xamarin.Android, который развертывается примерно через четыре секунды. Когда я добавляю зависящий проект, время развертывания увеличивается до семи секунд. Когда я добавляю файл макета к зависящему проекту, время развертывания увеличивается примерно до десяти секунд.

Можно ли ускорить сбор и развертывание Android с помощью Xamarin Studio? Большие проекты Android Eclipse развертываются довольно быстро в сравнении.

Обновление:

Просто запуск этапа сборки установки занимает около 40 секунд:

time xbuild /t:Install BigApp.csproj
...
...
...
Time Elapsed 00:00:42.8526970

примерно половина времени тратится, когда вышеприведенная команда выводит на консоль:

Target _CompileDex:
      JavaSourceFiles:
      JavaLibraries:
      ExternalJavaLibraries:
Tool /usr//bin/java execution started with arguments: -Xmx512M -jar 
/Users/myname/Library/Developer/Xamarin/android-sdk-mac_x86/build-tools/17.0.0//lib/dx.jar 
--no-strict --dex --output=obj/Debug/android/bin/classes.dex obj/Debug/android/bin/classes
/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/mandroid/platforms/android-15/mono.android.jar
/Users/myname/Projects/BigApp/obj/Debug/__library_projects__/TestFlightBindings.Jars.TestFlightLib_1_2.jar
/Users/myname/Projects/BigApp/obj/Debug/__library_projects__/android-support-v4.jar
/Users/myname/Projects/BigApp/obj/Debug/__library_projects__/classes.jar
/Users/myname/Library/Developer/Xamarin/android-sdk-mac_x86/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar

Когда я запускаю решение из Xamarin Studio, этот шаг происходит дважды. Один раз для зависимого проекта и один раз для основного проекта. Я попытался воспроизвести это поведение на консоли с помощью

"/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" -v build "--configuration:Debug -t Install" "BigApp.sln"

но только строит основной проект.

Обновление:

Я создал небольшой демонстрационный проект с очень медленным временем развертывания: https://github.com/perpetual-mobile/SlowAndroidDeploymentWithXamarin

Ответы

Ответ 1

Я связался с парнями Xamarin по этой проблеме, и они исправили две проблемы в Xamarin.Android:

Время сборки для моего огромного проекта без каких-либо изменений составляет ~ 5 секунд. И при изменении кода в самой глубокой зависимости lib цикл развертывания занимает не более 16 секунд.