Android7 8 Jack server SSL error

在尝试编译Android78代码时遇到Jackserver启动失败和SSL连接错误,问题源于JDK更新后禁用了TLSv1.0和TLSv1.1。解决方法是编辑`java.security`文件,取消TLSv1.0和TLSv1.1的禁用,然后重启服务器或Jackserver以继续编译。

编译Android 7 8 代码时出现如下报错信息
Jack server failed to (re)start, 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’

是由于JDK更新了版本
https://java.com/en/download/help/release_changes.html
根据JDK的Release Highlights可以发现原来是这次更新在jdk.tls.disabledAlgorithms中禁用TLSv1.0 and TLSv1.1
在这里插入图片描述

解决方法:
sudo vim /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
在这里插入图片描述

修改为:
在这里插入图片描述

修改完毕后重启服务器或重启jack server即可编译

在连接 Jack 服务器时遇到 **SSL error when connecting to Jack server, try jack-diagnose** 错误,通常与 SSL/TLS 协议版本或加密算法的兼容性有关。以下是可能的原因和解决方案: ### 原因分析 - **TLS 版本不兼容**:Java 安全配置中禁用了较旧的 TLS 版本(如 TLSv1 和 TLSv1.1),而 Jack 服务器可能仍然依赖这些协议进行通信。 - **证书问题**:服务器端或客户端的 SSL 证书可能存在问题,例如过期、自签名或无法被信任链识别。 - **网络代理干扰**:某些环境中的 HTTPS 代理可能会拦截并修改 SSL 连接,导致握手失败。 ### 解决方案 #### 1. 修改 Java 安全配置以启用 TLSv1 和 TLSv1.1 编辑 `java.security` 文件(路径通常为 `/etc/java-8-openjdk/security/java.security` 或对应 JDK 的安装路径): ```bash sudo vi /etc/java-8-openjdk/security/java.security ``` 找到以下行: ```plaintext jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1 ``` 将其修改为: ```plaintext jdk.tls.disabledAlgorithms=SSLv3 ``` 保存文件后重启 Jack 服务或重新尝试编译操作[^5]。 #### 2. 使用 `jack-diagnose` 工具检查问题 运行 `jack-diagnose` 命令以获取更多关于连接失败的诊断信息: ```bash jack-diagnose ``` 这将显示当前 Jack 服务的状态,并提供可能的修复建议[^1]。 #### 3. 清理并重启 Jack 服务 如果上述方法无效,可以尝试清理 Jack 服务器缓存并重启服务: ```bash rm -rf ~/.jack-server/ jack-start ``` 确保使用正确的用户权限执行此操作,并确认 Jack 服务是否正常启动。 #### 4. 检查系统时间与证书有效性 SSL 握手对系统时间敏感。请确保系统时间准确无误,否则可能导致证书验证失败: ```bash timedatectl ``` 如有需要,同步时间服务器: ```bash sudo timedatectl set-ntp true ``` #### 5. 更新 JDK 或使用兼容版本 某些 JDK 版本对 TLS 支持较为严格。尝试更换到 OpenJDK 8 或其他已知兼容的版本,避免使用默认禁用旧 TLS 版本的 JDK(如 OpenJDK 11 及以上)[^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值