sheldon_blogs

Android:JACK编译错误汇总及解决

jack server交互命令:

 jack-admin start-server
 jack-admin kill-server
 jack-admin list-server
 jack-admin uninstall-server
 mm -j32 showcommands &> mm.out
 jack-admin install-server jack-launcher.jar  jack-server-4.8.ALPHA.jar
 jack-admin dump-report
 jack-admin dump-re
jack-admin server-log 查找log所在目录

 

问题一:多用户同时编译时报错

 错误信息:

FAILED: setup-jack-server
/bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar  2>&1 || (exit 0) ) && (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 4.11.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.31.CANDIDATE.jar 4.31.CANDIDATE || exit 47 )"
Jack server already installed in "/home/disk/lixialong/.jack-server"
Communication error with Jack server (35), try 'jack-diagnose' or see Jack server log
SSL error when connecting to the Jack server. Try 'jack-diagnose'
SSL error when connecting to the Jack server. Try 'jack-diagnose'

 

解决方案:同时修改$HOME/.jack-settings和$HOME/.jack-server/config.properties中的端口号(比如都改为8386/8387,端口号值为0~65535,1024下的值不要用),方可支持多用户同时编译。

 查看端口是否一致:cat ~/.jack-server/config.properties|grep -i port && cat ~/.jack|grep -i port|grep -v LOG &&cat ~/.jack-settings|grep -i port

(1)$HOME/.jack-settings

SERVER_PORT_SERVICE=8386
SERVER_PORT_ADMIN=8387

(2)$HOME/.jack-server/config.properties

jack.server.service.port=8386
jack.server.admin.port=8387

  (3) $HOME/.jack

SERVER_PORT_SERVICE=8288
SERVER_PORT_ADMIN=8289

 

问题二: No Jack server running. Try 'jack-admin start-server'

com.android.jack.server.api.v01.ServerException: './config.properties' musthave permission rw------- but have rwx------

Caused by: java.io.IOException: './config.properties' must have permissionrw------- but have rwx------

... 2 more

解决方案:通过查看文件 $HOME/.jack-server/logs/jack-server-0-0.log:

发现是配置文件的权限不对造成的,把文件$HOME/.jack-server/config.properties的权限由rwx改为rw即可解决问题。

问题三:

ERROR: Communication error with Jack server (52) make: *** [out/target/common/obj/JAVA_LIBRARIES/libutil_intermediates/classes.jack] Error

这种情况多半属于jack-admin缺少变量JACK_JAR而导致的。

解决方案:工程根目录内执行以下三句,再进行编译。

export JACK_JAR=./out/host/linux-x86/framework/jack.jar

./out/host/linux-x86/bin/jack-admin stop-server

./out/host/linux-x86/bin/jack-admin start-server

 

posted on 2019-09-26 10:53  sheldon_blogs  阅读(17260)  评论(0编辑  收藏  举报

导航