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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...