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};