编译android源码出现jack-server错误

博客讲述了在Ubuntu系统中编译Android源码时遇到Jack-server SSL错误的问题,通过分析发现是由于系统更新了openjdk导致。博主提供了详细的错误现象,包括编译时的错误日志,并分享了解决方案,即降级openjdk到旧版本,从而成功编译源码。此方法在尝试多种常规解决办法无效后被证实有效。
摘要由CSDN通过智能技术生成

编译android源码出现jack-server错误

***********************
2024.3.8更新:最近发现我最初遇到这个问题的处理方法治标不治本,只是找到问题出在openjdk更新上。看到其他优秀的博主处理这个问题的方法 ,才是真正的一劳永逸了,现在贴出其他博主的解决方法:
1、修改文件/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security,删除

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

中的TLSv1,TLSv1.1
2、重启jack server即可
*************************

错误现象

2021.5.10
5.1节前两天,以前能顺利编译android7.0和8.0的ubuntu 19.04的编译环境突然报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.32.CANDIDATE.jar 4.32.CANDIDATE || exit 47 )"
Jack server already installed in "/home/xxxxx/.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'

由于以前没有碰到过这类问题,首先网搜解决方法,将网上说的各种方法一一试了一遍,依然不行。我又怀疑会不会是android studio更新安装插件破坏了环境,将android studio也卸载了,依然不行。由于时间紧,在尝试了各种方法后不行后,选择安装系统,然后新装了ubuntu 20.04…结果让我想骂人,错误依旧。
这种错误的现象是,java-server 日志并没有报什么错误,只是在jack-server启动后三分钟,server会进入idle,源码再编译大概三分钟后,就会出错。
后来想想问题应该还是出现在系统更新上,习惯性在出现更新提示后点击更新系统。于是启动另一台有一段时间没用的ubuntu19.04来实验一番,系统更新前编译源码ok,然后进行系统更新,观察发现,系统有更新openjdk-8-jdk和openjdk-8-jre。更新完毕后,果然,编译时报jack-server错误。问题点定位到,剩下的就是找解决方法了。

解决方法

降级openjdk-8-jdk和openjdk-8-jre。

查看历史版本

sudo apt-cache show openjdk-8-jdk
sudo apt-get install openjdk-8-jdk=oldversion openjdk-8-jdk-headless=oldversion
sudo apt-get install openjdk-8-jre=oldversion openjdk-8-jre-headless=oldversion

安装完毕后,卸载其它的一些不需要的包。
重启电脑,再次编译,成功。
这个问题困扰了我几天,现在记录下,也希望能对大家有点帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值