這篇文章給大家介紹安卓編譯Jack server錯(cuò)誤問題解決辦法是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為歷城等服務(wù)建站,歷城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為歷城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
最近在編譯安卓的時(shí)候,遇到Jack Server報(bào)錯(cuò)的問題:Failed to authenticate Jack server certificate. Try 'jack-diagnose'。
Jack server already installed in "/home/airenao/.jack-server"
Communication error with Jack server (60), try 'jack-diagnose' or see Jack server log
Failed to authenticate Jack server certificate. Try 'jack-diagnose'
Failed to authenticate Jack server certificate. Try 'jack-diagnose'
[ 2% 40/1802] target Java: core-oj (out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/classes)
ninja: build stopped: subcommand failed.
10:27:27 ninja failed with: exit status 1
可以參考官方說明: https://source.android.com/setup/build/jack
Jack 是一種新型 Android 工具鏈,用于將 Java 源代碼編譯成 Android dex 字節(jié)碼。 它取代了之前由 javac、ProGuard、jarjar 和 dx 等多種工具組成的 Android 工具鏈。
Jack 工具鏈具有以下優(yōu)勢:
完全開放源代碼 它是在 AOSP 中提供的;并且歡迎用戶貢獻(xiàn)資源。
提高編譯速度 Jack 提供以下具體支持來減少編譯時(shí)間:dex 預(yù)處理、增量編譯和 Jack 編譯服務(wù)器。
支持壓縮、混淆、重新打包和多 dex 處理不再需要使用單獨(dú)的軟件包(如 ProGuard)
有2種解決辦法,一種是編譯的時(shí)候disable掉 jack server;還有一種就是 jack 在編譯的時(shí)候,不是一個(gè)人在編譯,導(dǎo)致是同一個(gè) port,所以超時(shí)了,修改port即可。
這種簡單粗暴,直接設(shè)置一個(gè)臨時(shí)全局變量就可以了。
make *** ANDROID_FORCE_JACK_ENABLED=disabled -j32
先來看看Jack Server每個(gè)參數(shù)是什么意思。
SERVER=true 開啟jack server.
SERVER_PORT_SERVICE=8072 設(shè)置TCP服務(wù)器端口號(hào)用來進(jìn)行匯編編譯
SERVER_PORT_ADMIN=8073 設(shè)置TCP服務(wù)器端口號(hào)用來管理員的編譯管理
SERVER_COUNT=1 當(dāng)前未使用,一般為默認(rèn)
SERVER_NB_COMPILE=4 同時(shí)編譯最大線程
SERVER_TIMEOUT=60 如果server沒有在60s內(nèi)沒有反應(yīng),那么將會(huì)關(guān)掉此服務(wù)
SERVER_LOG=${SERVER_LOG:=$SERVER_DIR/jack-$SERVER_PORT_SERVICE.log} Log輸出的位置
JACK_VM_COMMAND=${JACK_VM_COMMAND:=java} 啟動(dòng)JVM命令
把家目錄下面的jack-setting文件和jack-server下config.properties文件里面的PORT修改為一致的即可。
下面是一個(gè)舉例,修改較大的端口號(hào),避免和其他的沖突。
# 這個(gè)文件是$HOME/.jack-settings
SERVER_PORT_SERVICE=28076
SERVER_PORT_ADMIN=28077
# 這個(gè)文件是$HOME/.jack-server/config.properties
jack.server.service.port=28076
jack.server.admin.port=28077
錯(cuò)誤信息就在log里面,多關(guān)注console log。
關(guān)于安卓編譯Jack server錯(cuò)誤問題解決辦法是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。