1. 程式人生 > >[RK3399][Android7.1] Ubuntu編譯環境記憶體要求

[RK3399][Android7.1] Ubuntu編譯環境記憶體要求

Platform: RK3399
OS: Android 7.1
Platform: Firefly-RK3399

現象
本地編譯Android 7.1時出現如下錯誤:

[  2% 764/34600] Building with Jack: out/targe...framework_intermediates/with-local/classes.dex
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/with-local/classes.dex.rsp
Out of memory error (version 1.2
-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by [email protected])). GC overhead limit exceeded. Try increasing heap size with java option '-Xmx<size>'. Warning: This may have produced partial or corrupted output. [ 2% 764/34600] build out/target/common/obj/J...A_LIBRARIES/sdk_v19_intermediates/classes.jack ninja: build stopped: subcommand failed. make: *** [ninja_wrapper] Error 1

原因
記憶體不足,官網也有說明了,至少需要16GB RAM。

這裡寫圖片描述

解決辦法一
物理增加PC記憶體到16GB以上

解決方法二

[email protected]:~/firefly_rk3399/prebuilts/sdk/tools$ g df jack-admin 
diff --git a/prebuilts/sdk/tools/jack-admin b/prebuilts/sdk/tools/jack-admin
index ee193fc..214fff7 100755
--- a/prebuilts/sdk/tools/jack-admin
+++ b/prebuilts/sdk/tools/jack-admin
@@ -26
,7 +26,7 @@ umask 077 JACK_HOME="${JACK_HOME:=$HOME/.jack-server}" CLIENT_SETTING="${CLIENT_SETTING:=$HOME/.jack-settings}" TMPDIR=${TMPDIR:=/tmp} -JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation}" +JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g}" JACK_EXTRA_CURL_OPTIONS=${JACK_EXTRA_CURL_OPTIONS:=} LAUNCHER_JAR="$JACK_HOME/launcher.jar" @@ -451,7 +451,7 @@ case $COMMAND in if [ "$RUNNING" = 0 ]; then echo "Server is already running" else - JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $ + JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4g -cp $LAUNCHE echo "Launching Jack server" $JACK_SERVER_COMMAND ( trap "" SIGHUP

注意: 編譯之前先要關閉後臺的Jack服務
[email protected]:~/firefly_rk3399/$ ./prebuilts/sdk/tools/jack-admin kill-server