我正在使用 Android-x86,但我遇到的问题出在 make 命令上,而不是 Android。
我正在尝试使用 编译 Android-x86 Oreo android_x86_64-userdebug
,m -j2 iso_img
但陷入了循环。使用 java 进行编译时,它给出了一个常见错误“内存不足错误”。好吧,我知道我可以使用java -Xmx512m -Xms512m [jar, class, whatever]
,但由于我使用的是 make 命令,所以我无法直接传递这些参数。我所做的是运行,export _JAVA_OPTIONS="-Xmx512m -Xms512m"
因此它也将包含这些选项。但事实并非如此。它彻底改变了没有什么。我尝试了几次,但没有任何变化。
所以,我的问题是:
如何在使用make
命令时传递 java 的最大堆大小?
如果在错误的网站上询问此问题,我很抱歉。
答案1
好吧,我设法自己解决了这个问题。对于那些遇到同样问题的人,以下是我的解决方案:
假设您的正常命令是:
make -j2 OUT_DIR=/path/to/some/dir
在命令末尾添加一个空格,然后添加JAVA_OPTS=-Xmx1024m
,例如:
make -j2 OUT_DIR=/path/to/some/dir JAVA_OPTS=-Xmx1024m
你必须改变1024到您想要的最大堆大小(以兆字节为单位)。希望这能有所帮助!