减少构建时间Xamarin.Android项目

时间:2018-02-01 13:38:12

标签: xamarin build msbuild xamarin.android visual-studio-mac

目前我们的Android项目遇到了很长的构建时间。

这是(参见下面的构建日志)Xamarin Android项目的正常构建时间是否具有以下数量的资产?

  • 350 drawables
  • 210布局文件
  • 65个值xml文件

您有什么建议可以加快构建时间吗?这真令人讨厌。

PS。我们还有一个问题,即每次我们在xml文件中更改某些内容时都需要进行干净的构建(例如,在更改布局文件中的颜色时)。

当我为Android模拟器执行干净的DEBUG构建时,这是构建日志:

    Convertible Arbitrage
1997-06 0.0212
1997-07 0.0193
1997-05 0.0156
1997-08 0.0134
1997-02 0.0123
1997-09 0.0122
1997-01 0.0119
1997-10 0.0100
1997-04 0.0086
1997-03 0.0078
1997-12 0.0068
1997-11 0.0000

1998-11 0.0269
1998-02 0.0146
1998-01 0.0145
1998-03 0.0144
1998-04 0.0126
1998-12 0.0113
1998-07 0.0060
1998-05 0.0056
1998-06 -0.0006
1998-09 -0.0196
1998-10 -0.0214
1998-08 -0.0319
......

构建配置如下所示:

{{1}}

2 个答案:

答案 0 :(得分:2)

  

目前我们的Android项目遇到了很长的构建时间。

对于包含Xamarin.Android的{​​{1}}应用程序以及所有相应的支持库,这是相当正常的。 正如您在Xamarin.Forms中看到的那样,我们看到大约33个用于资源解析(Performance Summary),15个用于Java编译(aapt)和大约19个用于dex编译。

如果您想进一步深入研究,可以使用javac并在命令行上手动调用这些命令,并查看它们每个时间长短。 其中大部分是由Android SDK构建工具完成的工作,这在某种程度上是一个瓶颈。

以下Android Studio文档中还有一些很棒的提示,可以应用于Diagnostic Build Output项目:

https://developer.android.com/studio/build/optimize-your-build.html

  

我们还遇到这样的问题:每次我们在xml文件中更改某些内容时(例如,在更改布局文件中的颜色时),我们都需要执行干净的构建 - >> “ConvertResourcesCases”任务意外失败

以下是解决此问题的一些建议:

  • 确保您拥有放置项目的文件夹的完全权限。
    • 如果您使用的是Mac,请确保文件属性下的文件为“unblock”。
    • 如果您使用的是Windows,请右键单击您的文件夹,选择Xamarin.Android,然后选择Properties并授予“完全控制权”。
  • 确保根文件夹路径中没有任何非英文字符。
  

您有什么建议可以加快构建时间吗?

在项目设置中启用Security

您可以通过添加以下内容在Fast Deployment中启用新的Fast Deployment功能:

.csproj

此过程可加快构建/部署/调试周期,因为如果仅更改程序集,则不会重新安装程序包。请注意:

仅当<AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> MSBuild属性为False 时才有效,您可以找到它here

有关加快构建时间的详细信息,请点击此处:

Tips and tricks on how to speed up the time it takes to compile a Xamarin app

答案 1 :(得分:0)

  

这是(参见下面的构建日志)Xamarin Android项目的正常构建时间是否具有以下数量的资产?

是的,确实如此。即使在原生Android中,它也需要很多时间来构建这么多资产。

  

您有什么建议可以加快构建时间吗?

是的,您可以参考this来优化您的构建。

  

每次我们在xml文件中更改内容时都要进行干净的构建

尝试保存文件并等待几秒钟。