Xamarin.Android构建/部署非常慢。如何加快速度?

时间:2013-11-21 15:56:16

标签: android build xamarin.android xamarin

我们有一个大型的Xamarin.Android项目,有两个依赖项目和一堆第三方dll。对Hax-x86仿真器或Nexus 5设备进行调试部署(无需任何更改)非常缓慢(> 80秒)。为了比较,App的Xamarin.iOS版本在7秒内部署到真实设备上。

为了测试部署时间,我还创建了一个新的Xamarin.Android项目,该项目在大约四秒钟内部署。当我添加依赖项目时,部署时间最多为7秒。当我将布局文件添加到依赖项目时,部署时间增加到大约十秒。

是否可以使用Xamarin Studio加速Android构建和部署?相比之下,大型Eclipse Android项目的部署速度相当快。

更新

只需运行安装构建步骤大约需要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 个答案:

答案 0 :(得分:7)

我联系了Xamarin这个问题的人,他们在Xamarin.Android修复了两个问题:

我的庞大项目的构建时间没有任何变化现在是~5秒。当在最深的依赖库中进行代码更改时,部署周期不会超过16秒。