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

24
我们有一个大型的Xamarin.Android项目,包括两个依赖项目和许多第三方dll文件。在Hax-x86模拟器或Nexus 5设备上进行调试部署(没有任何更改)非常缓慢(>80秒)。相比之下,该应用程序的Xamarin.iOS版本在真实设备上部署仅需不到七秒钟。
为了测试部署时间,我还创建了一个全新的Xamarin.Android项目,它的部署时间约为四秒钟。当我添加一个依赖项目时,部署时间增加到七秒钟。当我向依赖项目添加布局文件时,部署时间增加到大约十秒钟。
是否可能通过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


尝试使用共享运行时,即不将运行时编译到可执行文件中。 - Maxim Korobov
我正在使用共享运行时。您可以通过创建一个新项目,添加一些布局文件或依赖库项目来轻松地重现缓慢的行为。 - Rodja
1
Xamarin团队已经为此问题创建了一个Bug:https://bugzilla.xamarin.com/show_bug.cgi?id=16622 - Rodja
有人找到可行的解决方案了吗?现在是2018年10月,我需要等待2~3分钟才能在屏幕上看到代码更改。这在模拟器和真实设备上都是如此。 - Noobie3001
1个回答

7

我在 Xamarin 论坛上发布了我的案例:https://forums.xamarin.com/discussion/82287/xamarin-android-reduce-time-of-compilation-dalvik-ressources-aapt/p1?new=1 你们有什么方法可以加快构建速度吗? - Jerome2606
7
我现在使用的是Xamarin for Android v7.0,但是它构建速度非常慢。 - user586399

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接