Android 编译时出现JDK内存溢出的错误:
| 1 2 3 4 |
|
错误日志里边列出了问题并且已经给出了解决方案 - 增加Java虚拟机的-Xmx大小,即设置一个较大的堆内存上限。
所以,解决办法是:
1、修改Jack的配置文件prebuilts/sdk/tools/jack-admin
这是一个管理Jack的shell脚本,找到start-server函数,直接修改其启动参数,由原来的
| 1 |
|
更改为
| 1 |
|
此时Jack服务器仍然在后台执行,所以我们需要将其停止,然后重启启动(make会自动启动Jack服务器)才能使得修改后的参数生效。
我们执行下面的命令此时Jack服务器仍然在后台执行,所以我们需要将其停止,然后重启启动(make会自动启动Jack服务器)才能使得修改后的参数生效。
我们执行下面的命令:
| 1 2 3 4 5 |
|
?
详细的错误日志里边列出了问题并且已经给出了解决方案 - 增加Java虚拟机的-Xmx大小,即设置一个较大的堆内存上限。
另外一种方法:
出现这个错误是由于电脑内存不足,在命令行分别执行以下三条语句,然后继续编译
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"
./prebuilts/sdk/tools/jack-admin kill-server
./prebuilts/sdk/tools/jack-admin start-server
本文介绍了解决Android编译时遇到的JDK内存溢出问题的方法,包括修改Jack配置文件增加堆内存上限,以及通过环境变量调整来避免内存溢出,确保编译过程顺利进行。
1027

被折叠的 条评论
为什么被折叠?



