錯(cuò)誤如下:
[100% 2/2] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
[ 50% 1/2] glob art
[ 0% 1/55542] 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 "/root/.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'
[ 0% 6/55542] target C++: libv8src <= external/v8/src/regexp/jsregexp.cc
ninja: build stopped: subcommand failed.
11:13:44 ninja failed with: exit status 1
#### failed to build some targets (03:46 (mm:ss)) ####
在 LINUX/android 目錄下執(zhí)行如下命令禀综,發(fā)現(xiàn):OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:8077 仍然是ssl錯(cuò)誤,意思是client給服務(wù)端發(fā)送了TLSv1.3加密方式的hello握手請(qǐng)求,直接就報(bào)錯(cuò)了位岔。
? JACK_EXTRA_CURL_OPTIONS=-v ./prebuilts/sdk/tools/jack-admin list server
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8077 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /root/.jack-server/server.pem
CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:8077
* Closing connection 0
SSL error when connecting to the Jack server. Try 'jack-diagnose'
也可通過如下命令得出錯(cuò)誤log罢荡。
./prebuilts/sdk/tools/jack-admin dump-report
可能會(huì)看到如下的錯(cuò)誤夺艰,意思是沒有合適的協(xié)議,協(xié)議被禁用或密碼套件不對(duì)稱紧帕。
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
解決如下,解除jdk中的ssl3禁用算法,去掉SSLv3是嗜,這樣便支持了TLSv1.3愈案,再編譯即可。
nano /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/security/java.security //jdk路徑
//或代碼中的jdk文件:LINUX/android/prebuilts/jdk/jdk8/linux-x86/jre/lib/security/java.security
#jdk.tls.disabledAlgorithms=SSLv3,TLSv1,TLSv1.1, RC4, MD5withRSA, DH keySize < 768, \
EC keySize < 224
jdk.tls.disabledAlgorithms=TLSv1,TLSv1.1, RC4, MD5withRSA, DH keySize < 768, \
EC keySize < 224 //去掉SSLv3修改后