如何解决openJdk 升级到 8u292 会破坏我的 aosp 构建系统吗?
软件环境:
- Ubuntu 20.04 LTS 服务器;
- Android AOSP 8.0;
- OpenJDK 8;
昨天我将我的 OpenJDK 从 8u282 升级到 8u292,它运行得非常好。现在破碎的建筑日志说:
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 "~/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp ~/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
Jack server failed to (re)start,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'
ninja: build stopped: subcommand failed.
10:11:50 ninja failed with: exit status 1
我查看了 ~/.jack-server/log/xxxx-0-0.log 中的日志。它与错误无关。
我使用 curl
命令连接到服务器,它说:
$ curl https://127.0.0.1:8076/jack
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 127.0.0.1:8076
我修改了prebuilts/sdk/tools/jack-admin中的脚本打印$CURL_CODE,和我的shell curl命令一样,报错35。
这个网址讨论了samliar问题: https://forums.gentoo.org/viewtopic-t-1060536-start-0.html
但我不确定。
这是提示上述错误的源脚本链接: https://android-opengrok.bangnimang.net/android-8.1.0_r81/xref/prebuilts/sdk/tools/jack-admin?r=692a2a62#89
解决方法
我有同样的问题,通过删除文件 /etc/java-8-openjdk/security/java.security 中 jdk.tls.disabledAlgorithms 配置中的“TLSv1,TLSv1.1”得以解决。
,我认为很有可能是这样:
基本上,从 8u291 开始,他们已经关闭(默认)对 TLS 1.0 和 1.1 的支持。这些版本的 TLS 过时、不安全且已弃用;见https://en.wikipedia.org/wiki/Transport_Layer_Security
8u291 发行说明中提到了这一点。
我的建议是找出您的构建系统为何不使用 TLS 1.2 或更高版本。然后升级/修复它。
您可以通过运行带有 curl
选项的 --tlsv1.2
来测试这是否是问题所在。
删除文件 /etc/java-8-openjdk/security/java.security 中 jdk.tls.disabledAlgorithms 配置中的“TLSv1,TLSv1.1”。
它对我有用。
Ubuntu 更新 jdk 8u292 后台,所以和 jdk 关系不大。
首先,一些更改插孔端口的信息链接,我已经更改了插孔端口,但它不起作用。
其次,我尝试更新 ubuntu16.04.2 和 ubuntu16.04.7。但是“连接到 Jack 服务器时出现 SSL 错误。尝试 'jack-diagnose'”的错误仍然出现。
非常感谢@Guillaume P。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。