当编译Android系统时,出现以下错误,优先考虑是cpu和内存不足
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
解决方案:
1.make -j12 可以降低编译核数,比如-j8
2.jack-admin
我们对prebuilts/sdk/tools/jack-admin文件进行如下修改:
2.1.找到如下语句:
JACK_SERVER_COMMAND="java
-XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR
$JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
2.2.将上述语句修改为:
JACK_SERVER_COMMAND="java
-XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR
$JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"
主要是添加了-Xmx4096m参数,接下来在源码目录下执行如下命令重启jack-admin服务:
./prebuilts/sdk/tools/jack-admin stop-server
./prebuilts/sdk/tools/jack-admin start-server
重启完jack-admin服务后,此时再重新执行编译命令就能编译通过了。