构建失败并在 TFS 中出现 COMPILETODALVIK 错误,但它在我的本地计算机中正确构建
Posted
技术标签:
【中文标题】构建失败并在 TFS 中出现 COMPILETODALVIK 错误,但它在我的本地计算机中正确构建【英文标题】:Build fail with the COMPILETODALVIK error in TFS but it build properly in my local machine 【发布时间】:2018-05-07 11:03:48 【问题描述】:我已经实现了 xamarin.form 项目与 TFS 的持续集成。 我使用“Hosted VS2017”作为代理队列。由于几天以来我面临一个问题,我的代码在我的机器上成功构建,但在 TFS 中却没有。 Nuget 恢复成功,但“构建 Xamarin.android 项目 xyz/xyz.Android/xyz.Android.csproj”失败,并显示以下错误
COMPILETODALVIK (0, 0) COMPILETODALVIK(0,0):错误:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2028,3): 错误 XA5213:java.lang.OutOfMemoryError。考虑增加 $(JavaMaximumHeapSize) 的值。 Java 内存不足,而 执行'java.exe -jar "C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.2\lib\dx.jar" --no-strict --dex --output=obj\Release\android\bin obj\Release\android\bin\classes "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.0\mono.android.jar" obj\Release__library_projects__\FormsViewGroup\library_project_imports\formsviewgroup.jar obj\Release__library_projects__\HockeySDK.AndroidBindings\library_project_imports\bin\classes.jar obj\Release__library_projects__\Xamarin.Android.Support.Animated.Vector.Drawable\library_project_imports\bin\classes.jar obj\Release__library_projects__\Xamarin.Android.Support.Compat\library_project_imports\bin\classes.jar obj\Relea...
进程“msbuild.exe”以代码“1”退出。
错误 XA5213:java.lang.OutOfMemoryError。考虑增加 $(JavaMaximumHeapSize) 的值。 Java 在执行 'java.exe -jar
时内存不足我将堆大小增加到 1G、2G,但没有一个解决方案适合我。
它在我的机器上正常工作,但在 TFS 中不工作
通常,当这种错误出现在我们的 Visual Studio 中时,可以通过重建项目来解决。 如何将项目重建为 TFS?
我尝试了不同的可能解决方案,但无法解决问题
【问题讨论】:
选择默认的Hosted代理怎么样? 您是否使用“Xamarin.Android”任务来构建项目?如果在任务设置中将“MSBuild Architecture”改为“MSBuild x64”会有什么结果? 【参考方案1】:请尝试以下项目以缩小问题范围:
Enable clean source option :在第一个设置Clean为True 获取 Srouces 步骤。 还要在构建步骤中启用 Clean 选项。 选择最新的JDK版本(JDK 8),JDK选择X64 建筑。 参考:Xamarin Android Out of Memory Build Failure 设置 允许大堆然后再试一次。
如果还是不行,您可以尝试deploy a private agent on Windows,然后在与您在本地工作的开发机器相同的私有anent机器上安装/设置SDK/组件。然后选择要构建的私有代理。
【讨论】:
允许大堆正在工作。不需要做其余的事情。【参考方案2】:在 VSTS 构建中使用 JDK8 和 x64。目前只有这种组合有效。 JDK9 x64 或 JDK x86 都不行....
【讨论】:
以上是关于构建失败并在 TFS 中出现 COMPILETODALVIK 错误,但它在我的本地计算机中正确构建的主要内容,如果未能解决你的问题,请参考以下文章
SonarQube 7.1 和 TFS 2018 发布质量门结果失败
在 TFS 2012 beta 中构建失败,但该解决方案在 Visual Studio 2012 RC 中成功构建
Windows 商店应用程序的 TFS 2013 构建失败,并显示““GenerateAppxPackageRecipe”任务意外失败。”