Android 7.1编译到33%时出现JDK内存溢出的错误怎么办
程序员文章站
2022-05-23 22:11:55
android 7.1编译到33%时出现jdk内存溢出的错误:
out of memory error (version 1.2-rc4 'carnac' (298900 f95...
android 7.1编译到33%时出现jdk内存溢出的错误:
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'. warning: this may have produced partial or corrupted output.
错误日志里边列出了问题并且已经给出了解决方案 - 增加java的-xmx大小,即设置一个较大的堆内存上限。
所以,解决办法是:
1、修改jack的配置文件
prebuilts/sdk/tools/jack-admin
这是一个管理jack的shell脚本,找到
start-server函数,直接修改其启动参数,由原来的
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"
此时jack服务器仍然在后台执行,所以我们需要将其停止,然后重启启动(
make会自动启动jack服务器)才能使得修改后的参数生效。
我们执行下面的命令此时jack服务器仍然在后台执行,所以我们需要将其停止,然后重启启动(
make会自动启动jack服务器)才能使得修改后的参数生效。
我们执行下面的命令:
#先停止服务 ./prebuilts/sdk/tools/jack-admin stop-server #重新开始服务 ./prebuilts/sdk/tools/jack-admin start-server
?
详细的错误日志里边列出了问题并且已经给出了解决方案 - 增加java虚拟机的
-xmx大小,即设置一个较大的堆内存上限。