Ubuntu虚拟机环境编译AOSP出现Jack服务器SSL连接错误求助
AOSP编译Jack服务器SSL连接故障解决方案
问题现象
- 运行环境:VirtualBox 虚拟机下的Ubuntu 18.04/16.04
- 触发场景:首次AOSP编译可正常完成,第二次编译在10%进度处卡在Jack服务器初始化环节
- 核心报错:
Communication error with Jack server (35)SSL error when connecting to the Jack server- 调试日志显示:Jack进程虽正常监听8376/8377端口,但TLS握手阶段被OpenSSL中断,返回
SSL_ERROR_SYSCALL
- 故障根因:4.11版本的Jack服务器仅支持老旧TLS协议与加密套件,系统自带OpenSSL 1.1.1默认启用高版本TLS、提升加密安全等级,与Jack的低版本加密机制完全不兼容
修复步骤
- 清理残留Jack进程与异常状态
- 执行命令停止现有Jack服务:
prebuilts/sdk/tools/jack-admin stop-server - 若进程未正常退出,手动杀掉残留Java进程:
kill -9 $(pgrep -f com.android.jack.launcher.ServerLauncher)
- 执行命令停止现有Jack服务:
- 调整OpenSSL全局安全策略
- 编辑系统配置文件
/etc/ssl/openssl.cnf,在文件最开头加入以下配置,放开老旧TLS协议与加密套件的使用权限:openssl_conf = default_conf [ default_conf ] ssl_conf = ssl_sect [ssl_sect] system_default = system_default_sect [system_default_sect] MinProtocol = TLSv1 CipherString = DEFAULT:@SECLEVEL=1
- 编辑系统配置文件
- 配置Jack服务的TLS协议白名单
- 进入用户Jack配置目录:
cd ~/.jack-server - 编辑
config.properties文件,新增两行协议配置,强制Jack禁用不兼容的TLS1.3:jack.server.tls.protocols=TLSv1.2,TLSv1.1,TLSv1 jack.client.tls.protocols=TLSv1.2,TLSv1.1,TLSv1
- 进入用户Jack配置目录:
- 重启Jack服务并验证连通性
- 重新启动Jack服务:
prebuilts/sdk/tools/jack-admin start-server - 执行连通性检查命令:
prebuilts/sdk/tools/jack-admin list server,无SSL报错即代表修复完成
- 重新启动Jack服务:
- 兜底修复方案:若上述步骤执行后仍无法连通,直接删除旧的Jack配置缓存,让编译流程重新生成全套证书与服务配置:
- 执行删除命令:
rm -rf ~/.jack-server - 重新执行Jack启动流程即可
- 执行删除命令:
内容的提问来源于stack exchange,提问作者NVStop
相关产品推荐
相关产品推荐

