Ubuntu Jack-server报错解决方案

报错关键部分如下:
Communication error with Jack server (35), try 'jack-diagnose' or see Jack server log

究其原因是新的Java版本禁用了TLSv1, TLSv1.1导致,可以用以下命令查看当前的Java版本:
java -version

方案1:版本降级

如果你的Java版本是8u292或者更高,那么请继续往下看。

接下来就需要卸载当前安装的版本,并使用aptitude 工具来安装新的版本

#更新软件列表
sudo apt update

#查询可使用的软件版本
sudo apt-cache madison openjdk-8-jdk

#卸载当前版本的openjdk
sudo apt remove  openjdk-8-*

#安装aptitude包管理工具
sudo apt install aptitude

#使用aptitude 安装指定版本的openjdk 并解决依赖问题
sudo aptitude install openjdk-8-jdk=8u77-b03-3ubuntu3

注意:使用aptitude安装的时候可能会报无法安装的警告并提供了其他的安装方案,这里务必选择安装openjdk的方案,不要选择 not install 的方案,如果当前的方案不满足需求,可以选择n来切换下一个安装方案,直到出现可以安装openjdk。

方案2:启用TLSv1, TLSv1.1

修改配置文件:
/etc/java-8-openjdk/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


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

重启服务:
aosp/prebuilts/sdk/tools/ 目录下执行
./jack-admin kill-server && ./jack-admin start-server

如果本文对你有帮助,请不要吝啬你的赞。转载请注明出处!