微软VSTS没有';t构建Android项目-JavaMaximumHeapSize-在本地机器上工作

微软VSTS没有';t构建Android项目-JavaMaximumHeapSize-在本地机器上工作,java,android,xamarin,azure-devops,azure-pipelines,Java,Android,Xamarin,Azure Devops,Azure Pipelines,我正在为我的构建使用私有构建代理。(这适用于VS Appcenter,如果您使用他们的机器,但成本和构建速度较慢,或者如果您使用VSTS托管的VS2017,无论如何,我使用自己的专用代理处理所有VSTS构建、速度和成本) 错误是抱怨JavaMaximumHeapSize C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targe

我正在为我的构建使用私有构建代理。(这适用于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文件 (x86)\Android\Android sdk\build tools\27.0.3\lib\dx.jar”--dex --没有严格的--multi-dex--main-dex list=obj\Release\multidex.keep--output-obj\Release\android\bin D:\agent\u work\9\s\src\Yo.MobileApp.android\obj\Release\android\bin\classes.zip “C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssembly\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar” “C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Android支持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:\程序文件 (x86)\Microsoft Visual Studio Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2188,3): 错误XA5213:java.lang.OutOfMemoryError。考虑增加 值$(JavaMaximumHeapSize)。Java在运行时内存不足 正在执行“java.exe-jar”C:\Program文件 (x86)\Android\Android sdk\build tools\27.0.3\lib\dx.jar”--dex --没有严格的--multi-dex--main-dex list=obj\Release\multidex.keep--output-obj\Release\android\bin D:\agent\u work\9\s\src\Yo.MobileApp.android\obj\Release\android\bin\classes.zip “C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssembly\Microsoft\Framework\MonoAndroid\v8.1\mono.android.jar” “C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Android支持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


  • 我已经在应用程序内部将JavaMaximumHeapSize增加到1G 舱单
  • 我已经将JDK设置为8,并选择了x86体系结构:
如果我将x64 arch和JDK 8或相同的放在JDK9上,我会得到错误:

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


JDK8和x64解决了这个问题。

“我已经将JavaMaximumHeapSize在应用程序清单中增加到1G了”,您是手动编辑清单还是使用了.csproj的属性编辑器?我已经解决了这个问题,稍后我将编写答案使用64位版本的JDK。您可以接受自己的答案。如果有效,请将此标记为已接受答案。此线程仍显示为“未回答”