Android JACK 编译错误SSL error when connecting to the Jack server
背景
之前编译好好,今天居然遇到了这样子的问题。还以为是和之前一样,Android7.0 配置JACK支持多用户同时编译。
结果不是:
/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/xx/.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'
做法1
也可以用降级的做法来实现,这里以使用的OPENJDK为例。
将JDK降级为允许使用的版本,可以在这里下载安装:https://www.openlogic.com/openjdk-downloads
我是将 JDK8_295 降级为 JDK_272即可。
- Java Version : 8
- Operating System : Linux
- Architecture : x86 64-bit
- Java Package : JDK
卸载 当前的JDK:
sudo apt-get purge -y openjdk*
sudo apt-get purge -y icedtea-* openjdk-*
## 检查是否卸载干净
dpkg --list | grep -i jdk
通过deb包安装JDK8:
## 下载链接
wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u272-b10/openlogic-openjdk-8u272-b10-linux-x64-deb.deb
## 安装
sudo dpkg -i openlogic-openjdk-8u272-b10-linux-x64-deb.deb
做法2
修改 prebuilts/sdk/tools/jack-admin即可。
diff --git a/prebuilts/sdk/tools/jack-admin b/prebuilts/sdk/tools/jack-admin
index ee193fcf5a..2ac3c29685 100755
--- a/prebuilts/sdk/tools/jack-admin
+++ b/prebuilts/sdk/tools/jack-admin
@@ -26,7 +26,7 @@ umask 077
JACK_HOME="${JACK_HOME:=$HOME/.jack-server}"
CLIENT_SETTING="${CLIENT_SETTING:=$HOME/.jack-settings}"
TMPDIR=${TMPDIR:=/tmp}
-JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation}"
+JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xm4g }"
JACK_EXTRA_CURL_OPTIONS=${JACK_EXTRA_CURL_OPTIONS:=}
LAUNCHER_JAR="$JACK_HOME/launcher.jar"
@@ -57,8 +57,8 @@ if [[ ! -f "$CLIENT_SETTING" || $SETTING_VERSION -lt 4 ]]; then
cat >"$CLIENT_SETTING.$$" <<-EOT
# Server settings
SERVER_HOST=${SERVER_HOST:=127.0.0.1}
- SERVER_PORT_SERVICE=${SERVER_PORT_SERVICE:=8076}
- SERVER_PORT_ADMIN=${SERVER_PORT_ADMIN:=8077}
+ SERVER_PORT_SERVICE=${SERVER_PORT_SERVICE:=8176}
+ SERVER_PORT_ADMIN=${SERVER_PORT_ADMIN:=8177}
# Internal, do not touch
SETTING_VERSION=4
@@ -451,7 +451,7 @@ case $COMMAND in
if [ "$RUNNING" = 0 ]; then
echo "Server is already running"
else
- JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
+ JACK_SERVER_COMMAND="/usr/lib/jvm/java-7-openjdk-amd64/bin/java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4g -cp $LAUNCHER_JAR $L
AUNCHER_NAME"
echo "Launching Jack server" $JACK_SERVER_COMMAND
(
trap "" SIGHUP
以及 vi ~/.jack-server/config.properties ~/.jack-settings,将port改掉。
可以参考:Android7.0 配置JACK支持多用户同时编译
附录:报错原因
最近也有人提这个问题,而且说得很详细:就是JDK 版本的问题引起的。
ref : https://groups.google.com/g/android-building/c/hsGPbjjjxeE/m/LO0h0PvcAgAJ

Android JACK 编译错误SSL error when connecting to the Jack server的更多相关文章
- Android:JACK编译错误汇总及解决
jack server交互命令: jack-admin start-server jack-admin kill-server jack-admin list-server jack-admin un ...
- 编译错误:error: multi-line comment
编译错误:error: multi-line comment 这其实是有宏定义的地方的问题. 原因是宏定义非一行,在宏定义的行尾使用 '\' 连接符导致的. 所以这个地方的注释使用 /* */ ...
- android stdio 编译项目报Error:Failed to find target with hash string 'android-24
android stdio 编译项目报Error:Failed to find target with hash string 'android-24 查看已有的SDK 设置项目的sdk为 25 an ...
- VS2012与VS2015同时安装用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No such file or directory”的解决办法
在WIndows 7操作系统上同时安装VS2012与VS2015并用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No ...
- vs2008编译错误fatal error C1902: 程序数据库管理器不匹配;请检查安装解决
重装了本本上的Xp系统,如往常一样,升级,装杀毒软件,开发工具.一些进行的非常顺利.然而,在我打开VS2008准备耕作的时候,尽然出现了一邪恶的错误提示:vs2008编译错误fatal error C ...
- VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version
VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll ve ...
- MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.
MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290): The MySQL server is running with the --secure-file-priv option s ...
- assets中放入中文文件名导致Android Studio编译错误
一个android项目突然出现编译错误,如下: :app:processDebugResources FAILED FAILURE: Build failed with an exception. * ...
- C++编译错误syntax error : identifier 'THIS_FILE' 解决方法
你到代码里搜索 THIS_FILE看是不是它定义在别的头文件前面了,如果是,把它们的头文件紧跟到Stdafx.h后面 我遇到过这问题,这样搞定的 今天遇到个编译错误:..\vc98\include\n ...
- VS 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
在VS中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: error C4996: 'scanf': This function or variable may be uns ...
随机推荐
- EFK+logstash构建日志收集平台
一.环境 k8s集群: 控制节点:192.168.199.131 主机名:master 配置:4核6G 工作节点:192.168.199.128 主机名:monitor 配置:4核4G 1.1 ...
- 最近常用的几个【行操作】的Pandas函数
最近在做交易数据的统计分析时,多次用到数据行之间的一些操作,对于其中的细节,简单做了个笔记. 1. shfit函数 shift函数在策略回测代码中经常出现,计算交易信号,持仓信号以及资金曲线时都有涉及 ...
- ITIL4中的关键概念
1.价值和价值共创 什么是价值 通俗表达:这有啥用? 正式表达:这能带来什么益处或起什么作用? 反问式求证: 假如没有的话,会有什么后果? 具体情境提问:如果缺少IT运维人员,业务系统会面临怎样的状况 ...
- HTML link标签中preload,prefetch,dns-prefetch,preconnect,prerender
Preload 在我们的浏览器加载资源的时候,对于每一个资源都有其自身的默认优先级,倘若我们能修改每一个资源的默认优先级,那我们几乎可以按照我们的预期加载想要加载的资源. 以谷歌浏览器为例,我们打开控 ...
- JavaScript 实现前端文件下载
A.download HTML5的A标签有一个download属性,可以告诉浏览器下载而非预览文件,很实用,参考链接:http://www.zhangxinxu.com/wordpress/2016/ ...
- 在 JS 中调整 canvas 里的文字间距
实现说明: 在 JS 中 canvas 原生没有支持对文字间距的调整,我们可以通过将文字的每个字符单独渲染来实现.本案例从 CanvasRenderingContext2D 对象的原型链上扩展了一个用 ...
- 通过 Wireshark 解密 Kerberos 票据
前言 在使用 Wireshark 分析 Active Directory 的 Kerberos 的流量时,会遇到加密票据的情况,这对进一步探究 AD 下的漏洞篡改事件的详细过程造成了影响.在查询资料时 ...
- Swoole 源码分析之 Channel 通道模块
原文首发链接:Swoole 源码分析之 Channel 通道模块 大家好,我是码农先森. 引言 通道,用于协程间通讯,支持多生产者协程和多消费者协程.底层自动实现了协程的切换和调度. 通道与 PHP ...
- WPF多显示器问题 - WindowState
标签 wpf multiple-monitors 一段时间以来,我一直试图让我的 WPF 应用程序跨越多个监视器,并且几乎可以正常工作.当我设置以下行时,问题似乎出现了: win1.WindowSta ...
- no implicit conversion of nil into String
一.Cocoapod 执行pod install命令时报错 [!] An error occurred while processing the post-install hook of the Po ...