diff --git a/Documentation/guides/BuildProcess.md b/Documentation/guides/BuildProcess.md index 6fef4ac41c8..a72b4dad9c1 100644 --- a/Documentation/guides/BuildProcess.md +++ b/Documentation/guides/BuildProcess.md @@ -456,11 +456,13 @@ when packaing Release applications. - **JavaMaximumHeapSize** – Specifies the value of the **java** `-Xmx` parameter value to use when building the `.dex` file as part of the packaging process. If not specified, then the `-Xmx` option - is not provided to **java**. + supplies **java** with a value of `1G`. This was found to be commonly + required on Windows in comparison to other platforms. - Specifying this property is necessary if the + Without this value an error could be thrown such as: [`_CompileDex` target throws a `java.lang.OutOfMemoryError`](https://bugzilla.xamarin.com/show_bug.cgi?id=18327). + Customize the value by changing: ```xml 1G ``` diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs index c51ba0e5c8b..1b3e30e247c 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs @@ -271,8 +271,6 @@ public void Check9PatchFilesAreProcessed ([Values(false, true)] bool explicitCru proj.Packages.Add (KnownPackages.GooglePlayServices_22_0_0_2); proj.AndroidExplicitCrunch = explicitCrunch; proj.SetProperty ("TargetFrameworkVersion", "v5.0"); - proj.SetProperty (proj.DebugProperties, "JavaMaximumHeapSize", "1G"); - proj.SetProperty (proj.ReleaseProperties, "JavaMaximumHeapSize", "1G"); using (var b = CreateApkBuilder (Path.Combine (projectPath, "Application1"), false, false)) { b.Verbosity = LoggerVerbosity.Diagnostic; Assert.IsTrue (b.Build (proj), "Build should have succeeded."); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index 707f9e53152..fd59ab41045 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -2311,7 +2311,6 @@ public void BuildAMassiveApp() }; //NOTE: BuildingInsideVisualStudio prevents the projects from being built as dependencies app1.SetProperty ("BuildingInsideVisualStudio", "False"); - app1.SetProperty ("JavaMaximumHeapSize", "1G"); app1.Imports.Add (new Import ("foo.targets") { TextContent = () => @" diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index d29969986de..cf3a4495ca1 100755 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -265,6 +265,9 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved. False False + + 1G + {sdk.dir}tools\proguard\proguard-android.txt; {intermediate.common.xamarin};