Communication error with Jack server 1. Try ‘jack-diagnose‘

本文介绍了在Android 8.1系统中编译SDK所需的JDK安装步骤和环境变量配置。针对JackServer通信错误,提供了修改端口号和配置文件的解决方案,以及在遇到问题时如何检查和更改TLS配置。最后,给出了重新编译的步骤和在无法编译时的系统重装建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、JDK 安装
Android8.1 系统编译依赖于 JAVA 8。编译之前需安装 OpenJDK。
安装命令如下:

sudo apt-get install openjdk-8-jdk

执行如下命令配置环境变量:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

SDK 带有 Open JDK8 的配置脚本,在工程根目录下,命名为 javaenv.sh。
可直接执行以下命令,配置 JDK:

source javaenv.sh

2、SDK编译
执行自动编译脚本:

./build.sh

Android8.1 系统使用 jack-server 作为 java 代码编译器,在编译过程中可能会遇到以下类似的错误:

Jack server already installed in "/home/jiajia/.jack-server"
Communication error with Jack server (1), try 'jack-diagnose' or see Jack
server log
Communication error with Jack server 1. Try 'jack-diagnose'
Communication error with Jack server 1. Try 'jack-diagnose'

这种情况主要是由于 jack-server 本身编译器限制,同一个网络端口号不能多个用户同时使用。
就是在服务器上协同开发过程中,多用户同时编译 Android7.1 时,需要配置各自使用不同的网络端口号。

jack-server 的两个配置文件,决定了它所使用的端口号:

~/.jack-server/config.properties
~/.jack-settings

这两个配置文件需要配置两个端口号,分别为服务端端口号,及客户端端口号,两个配置文件中的端口号要匹配。

jack.server.service.port=8074
jack.server.admin.port=8075

SERVER_PORT_SERVICE=8074
SERVER_PORT_ADMIN=8075

配置步骤如下:

  1. 确保两个配置文件存在,并且权限设置为 0600:
sudo chmod 0600 ~/.jack-server/config.properties
sudo chmod 0600 ~/.jack-settings
  1. 修改端口号,请更改 service port 及 admin port 为其他端口号,两个配置文件里的端
    口号需要匹配。示例如下:
jack.server.service.port=8023
jack.server.admin.port=8024
SERVER_PORT_SERVICE=8023
SERVER_PORT_ADMIN=8024
  1. 重新编译 Android,看是否会报错,若依然报错,请尝试更改其他端口号

  2. 更改其他端口号最多五次,仍然报错则修改 java.security 文件配置

/etc/java-8-openjdk/security/java.security 

打开此路径的配置文件,找到如下一行内容,并将 “ TLSv1, TLSv1.1, ”删除后保存

修改前: jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA
修改后: jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA

切换到Android编译源码项目目录:prebuilts/sdk/tools ,并运行如下命令:

./jack-admin kill-server 
./jack-admin start-server
  1. 重新编译Android SDK
    注:如果到此仍不能编译通过,可能需要重装系统了。
1 warning generated. [ 57% 16468/28567] Ensure Jack server is installed and started FAILED: /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.8.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.8.ALPHA.jar 4.8.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-2.28.RELEASE.jar 2.28.RELEASE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-3.36.CANDIDATE.jar 3.36.CANDIDATE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.7.BETA.jar 4.7.BETA || exit 47 )" Jack server already installed in "/newdisk/home/zx-c/work/rk3288/android7.1/.jack-server" Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m -cp /newdisk/home/zx-c/work/rk3288/android7.1/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log No Jack server running. Try 'jack-admin start-server' No Jack server running. Try 'jack-admin start-server' [ 57% 16468/28567] target Prebuilt: chrome (out/target/product/rk3288/obj/APPS/chrome_intermediates/package.apk) ninja: build stopped: subcommand failed. build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed make: *** [ninja_wrapper] Error 1 #### make failed to build some targets (11:14 (mm:ss)) #### make -j30 failed...
最新发布
07-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佳佳鸽

若文章帮到你,能不能请我喝杯茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值