背景

之前编译好好,今天居然遇到了这样子的问题。还以为是和之前一样,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的更多相关文章

  1. Android:JACK编译错误汇总及解决

    jack server交互命令: jack-admin start-server jack-admin kill-server jack-admin list-server jack-admin un ...

  2. 编译错误:error: multi-line comment

    编译错误:error: multi-line comment  这其实是有宏定义的地方的问题. 原因是宏定义非一行,在宏定义的行尾使用 '\' 连接符导致的. 所以这个地方的注释使用 /*   */ ...

  3. 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 ...

  4. 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 ...

  5. vs2008编译错误fatal error C1902: 程序数据库管理器不匹配;请检查安装解决

    重装了本本上的Xp系统,如往常一样,升级,装杀毒软件,开发工具.一些进行的非常顺利.然而,在我打开VS2008准备耕作的时候,尽然出现了一邪恶的错误提示:vs2008编译错误fatal error C ...

  6. 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 ...

  7. 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 ...

  8. assets中放入中文文件名导致Android Studio编译错误

    一个android项目突然出现编译错误,如下: :app:processDebugResources FAILED FAILURE: Build failed with an exception. * ...

  9. C++编译错误syntax error : identifier 'THIS_FILE' 解决方法

    你到代码里搜索 THIS_FILE看是不是它定义在别的头文件前面了,如果是,把它们的头文件紧跟到Stdafx.h后面 我遇到过这问题,这样搞定的 今天遇到个编译错误:..\vc98\include\n ...

  10. VS 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案

    在VS中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: error C4996: 'scanf': This function or variable may be uns ...

随机推荐

  1. gitlab-ce-15.9.4安装

    如果需要汉化版本,请根据汉化来选择版本 汉化包下载地址:https://gitlab.com/xhang/gitlab/ 1.依赖包安装 yum -y install policycoreutils- ...

  2. 解锁HDC 2024之旅:从购票到报名,全程攻略

    本文分享自华为云社区<解锁HDC 2024之旅:从购票到报名,全程攻略>,作者:华为云社区精选. Hi,代码界的小伙伴们,集结号已经吹响了!华为开发者大会(HDC 2024)--这场汇聚了 ...

  3. .Net 线程与锁

    一台服务器能运行多少个线程,大致取决于CPU的管理能力.CPU负责线程的创建.协调.切换.销毁.暂停.唤醒.运行等.一个应用程序中,必须有一个进程维持应用程序的运行环境,一个进程可同时有多个线程协作处 ...

  4. M3U8下载器加嗅探浏览器

    M3U8下载器太多了,随便一抓一大把,没什么新奇的. 下载地址: https://www.zhaimaojun.cn/P/%e8%a7%86%e9%a2%91%e7%bd%91%e7%ab%99%e5 ...

  5. SpringBoot 利用Timer 在指定时间2小时后执行任务

    /** * @Description * @Author songwp * @Date 2022/8/5 12:51 * @Version 1.0.0 **/ @Component public cl ...

  6. 九、.net core(.NET 6)添加通用的Redis功能

     .net core 编写通用的Redis功能 在 Package项目里面,添加包:StackExchange.Redis: 在Common工具文件夹下,新建 Wsk.Core.Redis类库项目,并 ...

  7. pageoffice 6 实现pdf加盖印章和签字功能

    PageOffice支持两种电子印章方案,可实现对Word.Excel.PDF文档加盖PageOffice自带印章或ZoomSeal电子印章(全方位保护.防篡改.防伪造).Word和Excel的盖章功 ...

  8. 解决”将公司Linux服务器上的脚本导出到windows上打开串行的“问题

    目录 一.前期准备 二.回车转换 一.前期准备 1.在linux服务器上写一个简单的脚本. [root@node5 ~]# vim linux脚本.sh [root@node5 ~]# cat lin ...

  9. linux各个目录详细说明

    在linux中一切皆文件,每个目录均有自己特定的作用,下面进行详细说明. 目录 说明 / 处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录.文件.设备都在 / 之下 /bi ...

  10. 你可能不知道的秘密——String s=new String(“abc”)到底创建了几个对象?

    String s=new String("abc")创建了几个对象? ​   在探讨上述问题结论之前,我们需要了解常量池这个概念. 常量池 ​   由于字符串在Java中被大量使用 ...