Debian APT repository 不再包含 OpenJDK 8,可用的最早版本是 OpenJDK 11。对于 AOSP 构建环境,我需要版本 8。 因此,我使用了 AdoptOpenJDK 8。
我在以下帖子中遇到了与 OP 类似的问题:
Jack server failed to (re)start
Is openJdk upgrading to 8u292 break my aosp build system?
Rebuild android code with error “SSL error when connecting to the Jack server. Try 'jack-diagnose”
然而,所有解决方案都不适用,因为jdk.tls.disabledAlgorithms
不不包含"TLSv1"或"TLSv1.1"在我的 java.security 文件中,该文件位于 /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/jre/lib/security/java.security。因为/etc/java-8-openjdk/目录不存在:
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.disabled.namedCurves = secp112r1, secp112r2, secp128r1, secp128r2, \
secp160k1, secp160r1, secp160r2, secp192k1, secp192r1, secp224k1, \
secp224r1, secp256k1, sect113r1, sect113r2, sect131r1, sect131r2, \
sect163k1, sect163r1, sect163r2, sect193r1, sect193r2, sect233k1, \
sect233r1, sect239k1, sect283k1, sect283r1, sect409k1, sect409r1, \
sect571k1, sect571r1, X9.62 c2tnb191v1, X9.62 c2tnb191v2, \
X9.62 c2tnb191v3, X9.62 c2tnb239v1, X9.62 c2tnb239v2, X9.62 c2tnb239v3, \
X9.62 c2tnb359v1, X9.62 c2tnb431r1, X9.62 prime192v2, X9.62 prime192v3, \
X9.62 prime239v1, X9.62 prime239v2, X9.62 prime239v3, brainpoolP256r1, \
brainpoolP320r1, brainpoolP384r1, brainpoolP512r1
我试图关注David Dong's blog guide。
虽然,jack-diagnose
报告了同样的错误:
error: process ID list syntax error
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).
Port 8077 is used by another process (pid=), please ensure to free the port or change port configuration in '/home/jimjamz/.jack-settings' and '/home/jimjamz/.jack-server/config.properties'
error: process ID list syntax error
和端口 8076 相同的错误,我尝试更改 ~/.jack-settings 和 ~/.jack-server/config.properties 中的端口(使用 28076、28077 和许多其他的),但我仍然收到同样的错误。
jack 服务器日志没有显示任何有趣的内容。 ~/.jack-server/logs/jack-server-0-0.log_:
14:29:14.008: INFO: com.android.jack.server.JackHttpServer: Loading config of jack server version: 1.3-a11 '1.3' (402300 704631c4e9bbfb4e8b052365140f79974b9f4cf4 by android-jack-team@google.com)
14:29:14.087: INFO: com.android.jack.server.JackHttpServer: Starting service connection server on /127.0.0.1:8076
14:29:14.104: INFO: com.android.jack.server.JackHttpServer: Starting admin connection on /127.0.0.1:8077
14:29:14.399: INFO: com.android.jack.server.JackHttpServer: Start timer
14:32:14.402: INFO: com.android.jack.server.JackHttpServer: Server mode changing from WAIT to IDLE
14:44:14.402: INFO: com.android.jack.server.JackHttpServer: Server mode changing from IDLE to DEEP_IDLE
16:29:14.403: INFO: com.android.jack.server.JackHttpServer: Server mode changing from DEEP_IDLE to SLEEP
我做了./jack-admin dump-report
,其中包含:
* connect to ::1 port 8077 failed: Connection refused
* Trying 127.0.0.1...
* TCP_NODELAY set
* Expire in 150000 ms for 3 (transfer 0x563f0f3b2f00)
* connect to 127.0.0.1 port 8077 failed: Connection refused
* Failed to connect to localhost port 8077: Connection refused
* Closing connection 0
No Jack server running. Try 'jack-admin start-server'
将端口设置为其他内容时,转储的报告会显示一些附加信息:
* connect to ::1 port 28077 failed: Connection refused
* Trying 127.0.0.1...
* TCP_NODELAY set
* Expire in 150000 ms for 3 (transfer 0x55aff5a02f00)
* Connected to localhost (127.0.0.1) port 28077 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /home/jimjamz/.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:28077
* Closing connection 0
SSL error when connecting to the Jack server. Try 'jack-diagnose'
我认为这表明它正在尝试(但失败)使用 TLSv1.3,而不是 TLSv1.1 或 TLSv1,后者似乎没有被禁用。
这些症状确实指向了相同的 TLS 问题,但是这些选项已经没有包含在我的 jdk.tls.disabledAlgorithms
中,还有什么办法可以解决它?