CPU:RK3399
系統:Android 7.1
如果第一次編譯 Android 7.1 的代碼,會提示 Jack server 未安裝,報錯如下:
Jack server installation not found
Jack server 安裝方法:[RK3399] Jack server installation not found
Android 7.1系統使用 jack-server 作為 Java 代碼編譯器,同一個端口號不能多個用戶同時使用,所以不用用戶要配置不同的端口號。
jack-server 由兩個配置文件來決定用戶使用的端口
/home/aaron/.jack-server/config.properties
jack.server.service.port=8074
jack.server.admin.port=8075
/home/aaron/.jack-settings
SERVER_PORT_SERVICE=8074
SERVER_PORT_ADMIN=8075
若上面兩個文件不存在,則需要手動創建,並且修改文件的權限
$ cat /home/aaron/.jack-server/config.properties
# #Fri Nov 02 14:18:58 CST 2018 jack.server.idle=180 jack.server.max-service.by-mem=1\=2147483648\:2\=3221225472\:3\=4294967296 jack.server.shutdown=21600 jack.server.time-out=7200 jack.server.max-jars-size=104857600 jack.server.service.port=8074 jack.server.admin.port=8075 jack.server.config.version=4 jack.server.max-service=4 jack.server.deep-idle=900
$ cat /home/aaron/.jack-settings
# Server settings SERVER_HOST=localhost SERVER_PORT_SERVICE=8074 SERVER_PORT_ADMIN=8075 # Internal, do not touch SETTING_VERSION=4
設置權限為660
$ chmod 600 /home/aaron/.jack-server/config.properties $ chmod 600 /home/aaron/.jack-settings
-----------------------------------------分割線-------------------------------------
1、出現下面錯誤是由於 jack-server 本身編譯器限制,同一個網絡端口號不能多個用戶同時使用。
多個用戶在同一個台服務器上開發時,需要各自配置不同的端口號。
Communication error with Jack server, try 'jack-diagnose' or see Jack server log
解決辦法是需要同時下面兩個文件中的 port,而且兩個文件中的那個的 port 要一致,
/home/aaron/.jack-server/config.properties
/home/aaron/.jack-settings
若修改 port 多次后還是編譯報錯,提示 Jack 未啟動,如下。
解決辦法是在主目錄下執行下面執行,會自動生成 jack-report.*****.zip 日志
$ ./prebuilts/sdk/tools/jack-admin dump-report
打開壓縮包中 report.*****.txt 文件,可以查看報錯信息
2、若日志中出現一下信息,則需要重新安裝 libcurl
* Protocol https not supported or disabled in libcurl
* Closing connection -1
$ sudo apt-get install libcurl
3、以前修改還未解決問題,日志中提示拒絕連接,如下:
此問題可能是文件權限問題,將 /home/aaron/.jack-settings 文件個權限修改為 777 試試(本人親測OK)