2016-01-02 33 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****

To jest komunikat o błędzie, gdzie zatrzymał się proces budowy, to mówi próbować zwiększyć wielkość sterty z opcją Java „-Xmx”, ale nie wiem, jak to config kiedy budowa źródła android.GC granica przekroczona napowietrznych przy budowie android źródła

+0

Ile pamięci ma to urządzenie? –

+0

Rozmiar pamięci urządzenia to 4G, może to za mało dla tego budynku. – yuiopt

+0

Urządzenie -Xmx3500m może nie być respektowane. Najpierw zobaczyłbym, czy kończy się na maszynie z większą pamięcią. –

Odpowiedz

5

Wygląda jak błąd w plikach Makefile z systemem Android - 3500 megabajtów to naprawdę za mało, aby zbudować kilka pakietów Java w systemie Android. Jest to wartość zakodowana na stałe, można ją znaleźć w build/core/config.mk. Teraz możesz po prostu zwiększyć go lokalnie (jednak dziwne, że nie jest on umieszczony w jakiejś zmiennej środowiskowej).

Zwiększyłem go do 5500 megabajtów i działa jak urok.

+0

Dzięki za pomoc, dowiedziałem się ** - Xmx ** opcji w 'config.mk ', ale nie ma więcej wspomnień do wykorzystania, Może powinienem zwiększyć pamięć urządzenia. – yuiopt

+1

@ yuiopt yeah, bardzo równoległa kompilacja jest dość ciężka w pamięci - można zwiększyć wymianę i/lub zmniejszyć liczbę wątków budujących. –

+0

Witam, wpadłem na ten problem i znalazłem tę stronę z dokumentacji: https://source.android.com/source/jack.html#jack_troubleshooting. Również, nie znaleziono polecenia xmx w pliku config.mk, tylko ten wiersz: APICHECK_COMMAND: = $ (APICHECK) -JXmx1024m -J "classpath $ (APICHECK_CLASSPATH)" Jest to linia masz na myśli ? – Poutrathor

0

Google zaleca minimum 16 GB pamięci RAM do budowania kodu źródłowego i doświadczyliśmy, że w przypadku Androida N jest to obowiązkowe.

O ile nie podano 16 GB pamięci RAM dla maszyny, niezawodność budowania kodu źródłowego jest naprawdę niska. Możesz wypróbować wiele konfiguracji serwera-serwera i parametrów, ale żaden z nich nie może okazać się niezawodny.

To jest uruchomiony wątek podobnych problemów przez wiele: - https://code.google.com/p/android/issues/detail?id=194027

Mam nadzieję, że to pomoże!