我们有一个大型的Xamarin.Android项目,有两个独立的项目和一堆第三方动态链接库,在Hax-x86模拟器或Nexus5设备上进行调试部署(没有任何更改)是非常慢的(> 80秒)。相比之下,Xamarin.iOS版本的应用程序可以在不到7秒的时间内部署到真正的设备上。
为了测试部署时间,我还创建了一个全新的Xamarin.Android项目,它可以在大约4秒内完成部署。当我添加一个依赖项目时,部署时间会增加到7秒。当我将布局文件添加到依赖项目中时,部署时间增加到大约10秒。
有没有可能使用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
发布于 2013-12-29 08:47:31
我就这个问题联系了Xamarin的人,他们修复了Xamarin.Android中的两个问题:
开始提供
在没有任何更改的情况下,我的大型项目的构建时间现在约为5秒。当在最深的lib中进行代码更改时,部署周期不会超过16秒。
https://stackoverflow.com/questions/20125720
复制相似问题