2016-01-02 45 views
5
****[ 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****

Bu, bina işleminin durduğu hata mesajını, "-Xmx" java seçeneği ile yığın boyutunu artırmayı deniyor diyor, ama nasıl yapılacağını bilmiyorum android kaynağı oluşturmak.Android kaynağı oluştururken GC yük devretme sınırı aşıldı

+0

Bu makinede ne kadar bellek var? –

+0

Makinenin bellek boyutu 4G, belki bu bina için yeterli değil. – yuiopt

+0

-Xmx3500m'ye uyulmayabilir. Önce daha fazla belleğe sahip bir makineyi tamamlarsa görürüm. –

cevap

5

Android makefile'lerinde bir hata gibi görünüyor - 3500 megabayt, Android içinde bazı Java paketleri oluşturmak için gerçekten yeterli değil. Bu kodlanmış değerdir, build/core/config.mk'da bulabilirsiniz. Şimdilik bunu sadece yerel olarak artırabilirsiniz (ancak bazı ortam değişkenlerine yerleştirilmemiş olması gariptir).

5500 megabayta yükselttim ve çekicilik gibi çalışıyor.

+0

Yardım için teşekkürler, config.mk ** - Xmx ** seçeneği bulundu ', ama kullanılacak daha fazla anı yok, Belki makinenin belleğini arttırmalıyım. – yuiopt

+1

@yuiopt yeah, oldukça paralel yapı oldukça bellek ağırdır - takas sayısını artırabilir ve/veya yapı iş parçacığı sayısını azaltabilirsiniz. –

+0

Merhaba, bu sorunla karşılaşıyorum ve bu sayfayı Google Dokümanlarından buldum: https://source.android.com/source/jack.html#jack_troubleshooting. Ayrıca, ben, config.mk dosyasında yalnızca bu satırı xmx komutu yok bulundu: APICHECK_COMMAND: = $ (APICHECK) -JXmx1024m -J "sınıf yolu $ (APICHECK_CLASSPATH)" bu kastediyorsun hat mı ? – Poutrathor

0

Google, kaynak kodu oluşturmak için en az 16 GB RAM önerir ve Android N ile gerçekten de zorunlu olduğunu gördük.

Makineye 16 GB RAM verilmedikçe, kaynak kodu yapısının güvenilirliği gerçekten çok düşüktür. Jack-server ve parametrelerin çoklu konfigürasyonlarını deneyebilirsiniz ancak bunların hiçbiri güvenilir olmayabilir.

Bu, birçok karşılaştığı benzer sorunların iplik çalıştıran: - https://code.google.com/p/android/issues/detail?id=194027

umarım bu yardımcı olur!