Xamarin.Android Java Error

在Xamarin.Android開發過程遭遇Java的OutOfMemory編譯錯誤訊息,該如何解決呢?

James Tsai 2016/05/31 12:20:26
509

主題

Xamarin.Android開發過程遭遇JavaOutOfMemory編譯錯誤訊息,該如何解決?

文章簡介

Xamarin.Android開發過程當中,可能因為所使用的相關套件過多,造成JavaOutOfMemory編譯錯誤訊息?讓本文章的介紹教你解決~

作者

James Tsai

版本/產出日期

V1.0/2016.5.31



1. 前言


在Xamarin.Android or Xamarin.Forms的開發過程當中,常常會引用到很多不同的套件或是不成熟的預覽套件,就可能會一直發生Java的OutOfMemory的編譯錯誤訊息,本篇文章就是在測試新版的Xamarin.Forms所加入的DeepLink功能時,用到很多預覽版的套件而造成這樣的問題。讓本篇文章告訴你問題的解決方式。


2. 環境準備


Windows 8/8.1/10

Visual Studio 2015 / Xamarin Studio


3. 本文


Xamarin.Android or Xamarin.Forms的開發過程當中遇到JavaOutOfMemory的相關編譯錯誤訊息


Xamarin.Android or Xamarin.Forms的開發時,編譯Android專案時遇到類似以下畫面的編譯錯誤訊息時的問題JavaOutOfMemory,在使用上要如何解決呢?



來重現此問題


測試開發Xamarin.Forms由於Xamarin.Android專案已經增加很多其他的NuGet套件使用除了本身Xamarin.Forms的專案已經先引用NuGet外,Xamarin.Android的專案又有很多額外的NuGet套件安裝。所以當在要開發新功能DeepLink的時候,又引用了更多NuGet套件。



所以就會造成Xamarin.Android專案在編譯時出現JavaOutOfMemory的錯誤訊息出現




解決辦法


直接在Visual Studio當中,找到專案->Xamarin.Android的專案屬性。



在選到Android Options的選項後,找到Advanced的分頁。



接著在下面的Advanced Android Build SettingsJava Max Heap Size填入1G



重建該專案,就會看到編譯通過無誤



4. 參考來源


Error - java.lang.OutOfMemoryError: Java heap space

https://forums.xamarin.com/discussion/6069/error-java-lang-outofmemoryerror-java-heap-space


Java heap space OutOfMemoryError when binding a big .jar

https://forums.xamarin.com/discussion/2132/java-heap-space-outofmemoryerror-when-binding-a-big-jar


How to fix “OutOfMemoryError: java heap space” while compiling MonoDroid App in MonoDevelop

http://stackoverflow.com/questions/13523257/how-to-fix-outofmemoryerror-java-heap-space-while-compiling-monodroid-app-in

James Tsai