CPU:RK3399
系统:Android 7.1
Android 7.1系统使用 jack-server 作为 Java 代码编译器
jack-server 由两个配置文件来决定用户使用的端口
/home/user/.jack-server/config.properties
jack.server.service.port=8074
jack.server.admin.port=8075
/home/user/.jack-settings
SERVER_PORT_SERVICE=8074
SERVER_PORT_ADMIN=8075
若上面两个文件不存在,则需要手动创建,并且修改文件的权限
$ cat /home/user/.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/user/.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/user/.jack-server/config.properties
chmod 600 /home/user/.jack-settings
-----------------------------------------分割线-------------------------------------
1、出现下面错误是由于 jack-server 本身编译器限制,同一个网络端口号不能多个用户同时使用。
多个用户在同一个台服务器上开发时,需要各自配置不同的端口号。
Communication error with Jack server, try 'jack-diagnose' or see Jack server log
解决办法是需要同时下面两个文件中的 port,而且两个文件中的那个的 port 要一致,
/home/user/.jack-server/config.properties
/home/user/.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/user/.jack-settings 文件个权限修改为 777 试试(本人亲测OK)