標籤:android 編譯出錯
在Android7.1編譯過程中出現如下錯誤:
Starting build with ninjaninja: Entering directory `.‘ [ 0% 8/30301] Ensure Jack server is installed and startedJack server already installed in "/home/guochongxin/.jack-server"Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/guochongxin/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher[ 0% 10/30301] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/libprotobuf-java-micro_intermediates/classes.jack[ 0% 12/30301] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/with-local/classes.dexFAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/with-local/classes.dex.rspOut 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.[ 0% 12/30301] Compiling SDK Stubs with Jack: out/target/comm...AVA_LIBRARIES/android_stubs_current_intermediates/classes.jackninja: build stopped: subcommand failed.make: *** [ninja_wrapper] Error 1
從上面的錯誤提示中可以看到如下一句:
Try increasing heap size with java option ‘-Xmx<size>‘.
按照上述發現的提示句,我們對prebuilts/sdk/tools/jack-admin檔案進行如下修改:1.找到如下語句:
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
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服務後,此時再重新執行編譯命令就能編譯通過了。
本文出自 “帆布鞋也能走貓步” 部落格,請務必保留此出處http://9409270.blog.51cto.com/9399270/1957117
Android系統編譯出錯