如何解决Crashlytics 启动失败:SSLHandshakeException
在初始安装 Crashlytics 后,在我的应用程序的大多数启动中,Crashlytics 无法启动。与远程 firebase 的通信,特别是“请求设置...”调用失败,出现以下异常:
FirebaseCrashlytics: Settings request failed.
javax.net.ssl.SSLHandshakeException: Connection closed by peer
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
. . .
值得注意的是,第一次在全新安装时发出此请求时不会发生故障。只有在设置缓存过期后,它才会在后续请求中失败。
该应用程序还有许多其他服务器调用,这些都很好。
此应用在 Android 7.0 上运行,在 Mediatek TangoTab 上。
这是完整的堆栈跟踪,前面有相关的日志记录:
2021-02-25 13:12:17.504 2720-2745/a75f.io.renatus D/FirebaseCrashlytics: Requesting settings from https://firebase-settings.crashlytics.com/spi/v2/platforms/android/gmp/1:793230499483:android:1ad53067378b1ba78df03e/settings
2021-02-25 13:12:17.505 2720-2745/a75f.io.renatus D/FirebaseCrashlytics: Settings query params were: {display_version=RENATUS_CCU_dev_1.553.0,source=1,instance=b5e39b4c777941816ff5e83fa337ca02c736681f,build_version=2102231205}
2021-02-25 13:12:17.531 2720-2745/a75f.io.renatus D/libc-netbsd: [getaddrinfo]: mtk hostname=firebase-settings.crashlytics.com; servname=(null); netid=0; mark=0
2021-02-25 13:12:17.531 2720-2745/a75f.io.renatus D/libc-netbsd: [getaddrinfo]: mtk ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0
2021-02-25 13:12:17.532 2720-2745/a75f.io.renatus D/libc-netbsd: [getaddrinfo]: mtk hostname=firebase-settings.crashlytics.com; servname=(null); netid=0; mark=0
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: doing handshake ++
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 SSL_connect:3RCCS_ SSLv3 read change cipher spec
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback ignored
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 SSL_connect:3RFINA SSLv3 read finished A
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback ignored
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback where=0x20 ret=1
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 handshake done in SSLOK SSL negotiation finished successfully
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback calling handshakeCompleted
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback completed
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback where=0x1002 ret=1
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 SSL_connect:ok exit in SSLOK SSL negotiation finished successfully
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 info_callback ignored
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: doing handshake -- ret=1
2021-02-25 13:12:17.747 2720-2755/a75f.io.renatus D/NativeCrypto: ssl=0x7c1af229c0 NativeCrypto_SSL_get_certificate => NULL
2021-02-25 13:12:17.916 2720-2745/a75f.io.renatus D/NativeCrypto: doing handshake ++
2021-02-25 13:12:17.918 2720-2745/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b4c00 info_callback where=0x1002 ret=0
2021-02-25 13:12:17.919 2720-2745/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b4c00 SSL_connect:failed exit in 3RSH_A SSLv3 read server hello A
2021-02-25 13:12:17.919 2720-2745/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b4c00 info_callback ignored
2021-02-25 13:12:17.919 2720-2745/a75f.io.renatus D/NativeCrypto: doing handshake -- ret=0
2021-02-25 13:12:17.919 2720-2745/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b4c00 NativeCrypto_SSL_do_handshake ret=0 errno=0 sslError=5 timeout_millis=10000
2021-02-25 13:12:17.919 2720-2745/a75f.io.renatus E/NativeCrypto: Unknown error during handshake
2021-02-25 13:12:17.919 2720-2745/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b4c00 NativeCrypto_SSL_do_handshake clean error => 0
2021-02-25 13:12:17.936 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 cert_verify_callback => 1
2021-02-25 13:12:17.936 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.936 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:UNKWN unknown state
2021-02-25 13:12:17.936 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.937 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.937 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:3RSKEA SSLv3 read server key exchange A
2021-02-25 13:12:17.937 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.937 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.937 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:3RSD_A SSLv3 read server done A
2021-02-25 13:12:17.937 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.939 2720-2781/a75f.io.renatus D/OpenSSLLib: ssl(T1)=0x7c146b5300,MasterKey=bf6b7c6bdbf4e1796e86319b6c51d69ab775f57eb2040c8743ddb20503adde96d2c4b492f9f3a7c0cffdc022c242dff7
2021-02-25 13:12:17.939 2720-2781/a75f.io.renatus D/OpenSSLLib: MasterKey Length = 48
2021-02-25 13:12:17.939 2720-2781/a75f.io.renatus D/OpenSSLLib: ssl(T1)=0x7c146b5300,SessionID=862f000085058a0f90837ee03ad970272ed2b57010cd4ab07274511c880cde1f
2021-02-25 13:12:17.939 2720-2781/a75f.io.renatus D/OpenSSLLib: SessionID Length = 32
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/OpenSSLLib: ssl(T1)=0x7c146b5300,ClientRandom=04b280e2eb6a545b35cbd85acff788b8bfc5249112044854079dd07ea6b205f7
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/OpenSSLLib: ClientRandom Length = 32
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:3WCKEA SSLv3 write client key exchange A
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:3WCCSA SSLv3 write change cipher spec A
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:3WFINA SSLv3 write finished A
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1001 ret=1
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:3FLUSH SSLv3 flush data
2021-02-25 13:12:17.940 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.941 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback where=0x1002 ret=1
2021-02-25 13:12:17.941 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 SSL_connect:ok exit in 3RCCS_ SSLv3 read change cipher spec
2021-02-25 13:12:17.941 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 info_callback ignored
2021-02-25 13:12:17.941 2720-2781/a75f.io.renatus D/NativeCrypto: doing handshake -- ret=1
2021-02-25 13:12:17.941 2720-2781/a75f.io.renatus D/NativeCrypto: ssl=0x7c146b5300 NativeCrypto_SSL_get_certificate => NULL
2021-02-25 13:12:17.947 2720-2755/a75f.io.renatus I/CCU_HS_SYNC: Entity Sync Completed
2021-02-25 13:12:17.954 2720-2745/a75f.io.renatus E/FirebaseCrashlytics: Settings request failed.
javax.net.ssl.SSLHandshakeException: Connection closed by peer
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:362)
at info.guardianproject.netcipher.client.TlsOnlySocketFactory$DelegateSSLSocket.startHandshake(TlsOnlySocketFactory.java:256)
at com.android.okhttp.Connection.connectTls(Connection.java:260)
at com.android.okhttp.Connection.connectSocket(Connection.java:224)
at com.android.okhttp.Connection.connect(Connection.java:197)
at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:392)
at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:356)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:273)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:474)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:126)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java)
at com.google.firebase.crashlytics.internal.network.HttpGetRequest.execute(HttpGetRequest.java:76)
at com.google.firebase.crashlytics.internal.settings.network.DefaultSettingsSpiCall.invoke(DefaultSettingsSpiCall.java:113)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:199)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:192)
at com.google.android.gms.tasks.zzp.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:64)
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
at java.lang.Thread.run(Thread.java:761)
Suppressed: javax.net.ssl.SSLHandshakeException: Connection closed by peer
... 24 more
Suppressed: javax.net.ssl.SSLHandshakeException: Connection closed by peer
... 24 more
有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。