重建 android 错误代码“连接到 Jack 服务器时出现 SSL 错误。尝试“插孔诊断”

Rebuild android code with error “SSL error when connecting to the Jack server. Try 'jack-diagnose”

系统:ubuntu18.04 环境:VirtualBox 我第一次在Ubuntu18.04编译AOSP源码,通过,第二次编译失败。 这是一条错误消息。

[ 10% 538/4980] Ensuring Jack server is installed and started
FAILED: setup-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/user/.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'
[ 10% 541/4980] build out/target/product/rk3399_mid/obj/ETC/precompiled_sepolicy_intermediates/precompiled_sepolicy
ninja: build stopped: subcommand failed.
22:32:18 ninja failed with: exit status 1

#### failed to build some targets (01:11 (mm:ss)) ####

Build android failed!

生成错误报告

/prebuilts/sdk/tools/report/18577$ unzip jack-report.18557.zip Archive: jack-report.18557.zip inflating: report.18557.txt
inflating: launcher.jar
inflating: config.properties
creating: logs/ inflating: logs/outputs.txt
inflating: logs/jack-server-0-2.log
inflating: logs/jack-server-1-0.log
inflating: logs/jack-server-0-0.log
extracting: logs/jack-server-0-0.log.lck
inflating: logs/jack-server-0-1.log
inflating: server-1.jar
creating: jack/

报告。18557.txt :

 ps -o "pid args" | grep com.android.jack.launcher.ServerLauncher | grep -v grep | awk '{print dump-report}' |  xargs kill -3

$ id -u
1000

$ ps -A -o "uid pid args" | grep com.android.jack.launcher.ServerLauncher | grep -v grep
 1000  6708 java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/zhangying/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher

$ lsof -i TCP:8376 -l
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    6708     1000   21u  IPv6  58493      0t0  TCP localhost:8376 (LISTEN)

$ lsof -i TCP:8377 -l
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    6708     1000   23u  IPv6  58499      0t0  TCP localhost:8377 (LISTEN)

$ cat "$JACK_CLIENT_SETTING"
# Server settings
SERVER_HOST=localhost
SERVER_PORT_SERVICE=8376
SERVER_PORT_ADMIN=8377

# Internal, do not touch
SETTING_VERSION=4

$ cd "$JACK_HOME"; ls -l -R -n .
.:
total 10412
-rw------- 1 1000 1000    2097 May  2 10:04 client.jks
-rw------- 1 1000 1000    2814 May  2 21:48 client.pem
-rw------- 1 1000 1000     356 May  2 10:12 config.properties
drwxr-xr-x 2 1000 1000    4096 May  2 10:04 jack
-rw------- 1 1000 1000 5102506 May  2 10:04 launcher.jar
drwx------ 2 1000 1000    4096 May  2 21:48 logs
-rw------- 1 1000 1000     982 May  2 22:39 report.18557.txt
-rw------- 1 1000 1000 5522186 May  2 10:04 server-1.jar
-rw------- 1 1000 1000    2066 May  2 10:04 server.jks
-rw------- 1 1000 1000    1042 May  2 21:48 server.pem

./jack:
total 0

./logs:
total 32
-rw-r--r-- 1 1000 1000   689 May  2 22:03 jack-server-0-0.log
-rw-r--r-- 1 1000 1000     0 May  2 10:20 jack-server-0-0.log.lck
-rw-r--r-- 1 1000 1000   585 May  2 10:23 jack-server-0-1.log
-rw-r--r-- 1 1000 1000   689 May  2 10:19 jack-server-0-2.log
-rw-r--r-- 1 1000 1000   585 May  2 10:16 jack-server-1-0.log
-rw------- 1 1000 1000 13411 May  2 22:39 outputs.txt

$ curl --version
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL 

$ JACK_EXTRA_CURL_OPTIONS=-v jack-admin list server
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8377 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /home/zhangying/.jack-server/server.pem
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:8377 
* Closing connection 0
SSL error when connecting to the Jack server. Try 'jack-diagnose'

$ jack-admin server-stat
Getting statistic from background server
SSL error when connecting to the Jack server. Try 'jack-diagnose'

$ base64 --version
base64 (GNU coreutils) 8.28
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Simon Josefsson.

$ (echo amFjaw==;echo LXNlcnZlcg==) | base64 --decode
当我切换到 Ubuntu 16 时出现相同的错误。04.Below 是 Ubuntu 18.04.

的已安装 Curl 版本的列表

警告:apt 没有稳定的 CLI 界面。在脚本中谨慎使用。

curl/bionic-updates,bionic-security,now 7.58.0-2ubuntu3.13 amd64 [已安装] libcurl3-gnutls/bionic-updates,bionic-security,now 7.58.0-2ubuntu3.13 amd64 [已安装,自动] libcurl4/bionic-updates,bionic-security,now 7.58.0-2ubuntu3.13 amd64 [已安装,自动] libcurl4-openssl-dev/bionic-updates,仿生安全,现在 7.58.0-2ubuntu3.13 amd64 [已安装]

我试了很多方法,还是解决不了。请帮助我,谢谢。

我刚找到答案,请参阅下面的 link

把代码改成这样, 从 /etc/java-8-openjdk/security/java.security 删除 TLSv1、TLSv1.1.

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

我只想给出解决问题的所有不同方法。 解决这个问题的方法很少,可能对某人有用 -

  1. 尝试通过以下命令在您的 android 根文件夹

    中简单地重新启动 jack 服务器

    ./prebuilts/sdk/tools/jack-admin kill-server

    ./prebuilts/sdk/tools/jack-admin 启动服务器

  2. 尝试减少文件 $HOME/.jack-server/config.properties 中的并发服务数 代码:

    jack.server.max-服务=4

尝试将此值设置为 2 或 1。

  1. 如果 jack 服务器未 运行ning 或在尝试 运行 时挂起。比尝试从 rom /etc/java-8-openjdk/security/java.security
  2. 中删除 TLSv1、TLSv1.1

解决方案 3 对我有用。

完成以下两个步骤后,AOSP 构建成功。

  1. 从 /etc/java-8-openjdk/security/java.security 文件
  2. 中的 jdk.tls.disabledAlgorithms 中删除 TLSv1、TLSv1.1
  3. 重启jack服务器: CD /prebuilts/sdk/tools/ ./jack-admin kill-server ./jack-admin 启动服务器

在您的 Dockerfile 中修复该问题的方法:

USER root

# Fix jack server SSL issue during build
RUN perl -0777 -i -p -e 's/(jdk.tls.disabledAlgorithms=.*?), TLSv1, TLSv1\.1//g' \
     /etc/java-8-openjdk/security/java.security