【问题标题】:Microsoft VSTS doesn't build Android project - JavaMaximumHeapSize - works on local machineMicrosoft VSTS 不构建 Android 项目 - JavaMaximumHeapSize - 适用于本地计算机
【发布时间】:2018-09-24 14:46:36
【问题描述】:

我正在为我的构建使用私有构建代理。 (这适用于 VS Appcenter,如果您使用他们的机器但它的成本和构建速度很慢,或者如果您使用 VSTS 的托管 VS2017,无论如何我都在使用我自己的私人代理进行所有 VSTS 构建、速度和成本)。

错误是抱怨 JavaMaximumHeapSize。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2188,3): 错误 XA5213:java.lang.OutOfMemoryError。考虑增加 $(JavaMaximumHeapSize) 的值。 Java 内存不足,而 执行'java.exe -jar "C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.3\lib\dx.jar" --dex --no-strict --multi-dex --main-dex-list=obj\Release\multidex.keep --output obj\Release\android\bin D:\agent_work\9\s\src\Yo.MobileApp。 Android\obj\Release\android\bin\classes.zip "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar" "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\android-support-multidex.jar" obj\Release\lp\1\jl\formsviewgroup.jar obj\Release\lp\31\jl\arch-core-common.jar obj\Release\lp\32\jl\arch-lifecycle-common.jar obj\Release\lp\33\jl\bin\classes.jar obj\Release\lp\34\jl\bin\classes.jar ob... C:\Program Files (x86)\微软视觉 Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2188,3): 错误 XA5213:java.lang.OutOfMemoryError。考虑增加 $(JavaMaximumHeapSize) 的值。 Java 内存不足,而 执行'java.exe -jar "C:\Program Files (x86)\Android\android-sdk\build-tools\27.0.3\lib\dx.jar" --dex --no-strict --multi-dex --main-dex-list=obj\Release\multidex.keep --output obj\Release\android\bin D:\agent_work\9\s\src\Yo.MobileApp。 Android\obj\Release\android\bin\classes.zip "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar" "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\android-support-multidex.jar" obj\Release\lp\1\jl\formsviewgroup.jar obj\Release\lp\31\jl\arch-core-common.jar obj\Release\lp\32\jl\arch-lifecycle-common.jar obj\Release\lp\33\jl\bin\classes.jar obj\Release\lp\34\jl\bin\classes.jar obj\Release...

  • 我已经在 Application 内部将 JavaMaximumHeapSize 增加到 1G 清单。
  • 我已经将 JDK 设置为 8 并选择了 x86 架构:

如果我将 x64 架构和 JDK 8 或相同的版本用于 JDK9,则会出现错误:

2018-04-14T10:32:54.9545073Z ##[错误]无法将参数绑定到 参数 'KeyName' 因为它是一个空字符串。

【问题讨论】:

  • “我已经在 Application Manifest 中将 JavaMaximumHeapSize 增加到 1G”,您是手动编辑清单还是使用了 .csproj 的属性编辑器?
  • 我修好了,稍后再写答案
  • 使用 64 位版本的 JDK。

标签: java android xamarin azure-devops azure-pipelines


【解决方案1】:

JDK8 和 x64 解决了这个问题。

【讨论】:

  • 您可以接受自己的答案。如果可行,请将其标记为已接受的答案。此线程仍显示为“未回答”
猜你喜欢
  • 2014-11-26
  • 1970-01-01
  • 2013-03-16
  • 2016-01-28
  • 1970-01-01
  • 2011-06-10
  • 2022-09-28
  • 2018-06-19
  • 2017-12-06
相关资源
最近更新 更多