rk3288_android 7.1 编译出现JDK内存溢出的错误

编译报错内容:

Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by [email protected])).
GC overhead limit exceeded.
Try increasing heap size with java option '-Xmx<size>'.
Warning: This may have produced partial or corrupted output.

解决方法:

增加Java虚拟机的-Xmx大小,即设置一个较大的堆内存上限

1.修改Jack的 配置文件 prebuilts/sdk/tools/jack-admin,这是一个管理Jack的shell脚本,找到start-server函数,直接修改其启动参数:

diff --git a/tools/jack-admin b/tools/jack-admin
index ee193fcf..3c9178a7 100755
--- a/tools/jack-admin
+++ b/tools/jack-admin
@@ -451,7 +451,7 @@ case $COMMAND in
     if [ "$RUNNING" = 0 ]; then
       echo "Server is already running"
     else
-      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"
       echo "Launching Jack server" $JACK_SERVER_COMMAND
       (
         trap "" SIGHUP

2.此时Jack服务器仍然在后台执行,所以我们需要将其停止,然后重启启动(make会自动启动Jack服务器)才能使得修改后的参数生效。

#先停止服务
./prebuilts/sdk/tools/jack-admin stop-server

#重新开始服务
./prebuilts/sdk/tools/jack-admin start-server

执行make installclean 后重新整编通过无报错。

猜你喜欢

转载自blog.csdn.net/weixin_45639314/article/details/130007032