构建Android源时超出了GC开销限制 [英] GC overhead limit exceeded when building android source
问题描述
****[ 35% 11837/33004] build out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack
FAILED:/bin/bash -c
"
(mkdir -p out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/)
&& (java -Xmx3500m -jar out/host/linux-x86/framework/jill.jar --output out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.jack prebuilts/sdk/21/android.jar)
&& (mkdir -p out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.res)
&& (unzip -qo prebuilts/sdk/21/android.jar -d out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.res)
&& (find out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.res -iname \"*.class\" -delete)
&& (JACK_VERSION=2.26.RELEASE out/host/linux-x86/bin/jack @build/core/jack-default.args --verbose error -D jack.import.resource.policy=keep-first -D jack.import.type.policy=keep-first --import out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.jack --import-resource out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.res --output-jack out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack)
&& (rm -rf out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.res)
&& (rm out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack.tmpjill.jack)
"
GC overhead limit exceeded
Try increasing heap size with java option '-Xmx'
Warning: This may have produced partial or corrupted output.
[ 35% 11837/33004] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
Communication error with Jack server (52)
ninja: build stopped: subcommand failed.
build/core/ninja.mk:139: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1****
这是构建过程停止的错误消息,它表示尝试使用Java选项"-Xmx"增加堆大小,但在构建android源代码时我不知道如何配置它.
This is the error message where the building process stopped, it says try to increase heap size with java option "-Xmx",but I do not know how to config it when building the android source.
推荐答案
似乎是Android Makefile中的错误-3500 MB的内存不足以在Android内部构建某些Java包.它是硬编码的值,您可以在 build/core/中找到它config.mk .现在,您只需在本地增加它即可(但是很奇怪,它没有放在某些环境变量中).
Seems like a bug in Android makefiles - 3500 megabytes is really not enough to build some Java packages inside Android. It's hardcoded value, you can find it in build/core/config.mk. For now you can simply increase it locally (however it's weird that it isn't placed in some environment variable).
我已经将其增加到5500兆字节,并且它就像一个魅力.
I've increased it to 5500 megabytes and it works like a charm.
这篇关于构建Android源时超出了GC开销限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!