我遵循https://stackoverflow.com/a/61560589/6447123在Android 4.x上支持TLS 1.2
它以前曾经工作过,但是目前我不知道为什么会有以下错误
2020-05-31 09:13:08.567 8735-8735/com.my_app E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.my_app, PID: 8735
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.my_app-jygsQuNVVcvr6CclEptz5A==/base.apk"],nativeLibraryDirectories=[/data/app/com.my_app-jygsQuNVVcvr6CclEptz5A==/lib/arm64, /data/app/com.my_app-jygsQuNVVcvr6CclEptz5A==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]] couldn't find "libconscrypt_jni.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
at java.lang.System.loadLibrary(System.java:1657)
at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:28)
at org.conscrypt.NativeCrypto.<clinit>(NativeCrypto.java:63)
at org.conscrypt.NativeCrypto.checkAvailability(NativeCrypto.java:80)
at org.conscrypt.OpenSSLProvider.<init>(OpenSSLProvider.java:58)
at org.conscrypt.OpenSSLProvider.<init>(OpenSSLProvider.java:51)
at org.conscrypt.OpenSSLProvider.<init>(OpenSSLProvider.java:47)
at com.my_app.MainApplication.onCreate(MainApplication.java:51)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5877)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1690)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6698)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
它在之前可以正常使用的手机上崩溃了
最佳答案
在您的类(class)中,您应该添加静态块以将conscrypt
添加为安全提供程序
static {
// add Conscrypt in list of security providers for device
Security.addProvider(Conscrypt.newProvider());
}