解决Out of memory error (version 1.2-rc4 ‘Carnac‘ (298900 ... by android-jack-team@google.com)).
Android 7.1編譯到33%時(shí)出現(xiàn)JDK內(nèi)存溢出的錯(cuò)誤:
Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by android-jack-team@google.com)).
GC overhead limit exceeded.
Try increasing heap size with java option '-Xmx<size>'.
Warning: This may have produced partial or corrupted output.
錯(cuò)誤日志里邊列出了問題并且已經(jīng)給出了解決方案 - 增加Java虛擬機(jī)的-Xmx大小,即設(shè)置一個(gè)較大的堆內(nèi)存上限。
所以,解決辦法是:
1、修改Jack的配置文件prebuilts/sdk/tools/jack-admin
這是一個(gè)管理Jack的shell腳本,找到start-server函數(shù),直接修改其啟動(dòng)參數(shù),由原來的
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
更改為
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"
此時(shí)Jack服務(wù)器仍然在后臺(tái)執(zhí)行,所以我們需要將其停止,然后重啟啟動(dòng)(make會(huì)自動(dòng)啟動(dòng)Jack服務(wù)器)才能使得修改后的參數(shù)生效。
我們執(zhí)行下面的命令此時(shí)Jack服務(wù)器仍然在后臺(tái)執(zhí)行,所以我們需要將其停止,然后重啟啟動(dòng)(make會(huì)自動(dòng)啟動(dòng)Jack服務(wù)器)才能使得修改后的參數(shù)生效。
我們執(zhí)行下面的命令:
#先停止服務(wù)
./prebuilts/sdk/tools/jack-admin stop-server
#重新開始服務(wù)
./prebuilts/sdk/tools/jack-admin start-server
?
詳細(xì)的錯(cuò)誤日志里邊列出了問題并且已經(jīng)給出了解決方案 - 增加Java虛擬機(jī)的-Xmx大小,即設(shè)置一個(gè)較大的堆內(nèi)存上限。
————————————————
版權(quán)聲明:本文為CSDN博主「堅(jiān)持就有希望」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/liangtianmeng/article/details/89522092
總結(jié)
以上是生活随笔為你收集整理的解决Out of memory error (version 1.2-rc4 ‘Carnac‘ (298900 ... by android-jack-team@google.com)).的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu16.04编译RK3399:
- 下一篇: Linux下搭建Android交叉编译环