-1

That issue arrived from Crashlytics in my Application. In MyApplication I have display Webview for display site.

-> Really don't know how to reproduce this issue.

here is full log details from Crashlytics:

     Fatal Exception: java.lang.NoSuchMethodError: No static method b()I in class Landroid/net/http/SslError; or its super classes (declaration of 'android.net.http.SslError' appears in /system/framework/framework.jar)
   at com.google.android.gms.internal.ads.zzbhb.onReceivedSslError(zzbhb.java:229)
   at com.android.webview.chromium.WebViewContentsClientAdapter.onReceivedSslError(WebViewContentsClientAdapter.java:453)
   at org.chromium.android_webview.AwContentsClientBridge$$Lambda$1.run(AwContentsClientBridge.java:2)
   at android.os.Handler.handleCallback(Handler.java:739)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:179)
   at android.app.ActivityThread.main(ActivityThread.java:5730)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:681)

Android: Device Name: Asus, Huwai, oppo Devie os: 6.0.1,5.0

Zoe
  • 27,060
  • 21
  • 118
  • 148
axita.savani
  • 406
  • 1
  • 6
  • 21

1 Answers1

0

Maybe you use minifyEnabled true in your gradle script?

Here is correct way to handle ssl errors with overriding onReceivedSslError in WebViewClient :

 override fun onReceivedSslError(view: WebView, handler: SslErrorHandler, error: SslError) {
        if (activity != null) {
            AlertDialog.Builder(activity)
                    .setTitle(SSL + " " + activity.getString(R.string.error))
                    .setMessage(error.toString())
                    .setPositiveButton(activity.getString(R.string.go_on)) { _, _ ->
                        handler.proceed()
                    }
                    .setNegativeButton(R.string.cancel) { _, _ ->
                        handler.cancel()
                    }
                    .create()
                    .show()
        } else {
            handler.cancel()
        }
    }

UPDATED USE EXAMPLE IN KOTLIN:

  webView.webViewClient = object: WebViewClient(){
                override fun onReceivedSslError(view: WebView, handler: SslErrorHandler, error: SslError) {
                    if (activity != null) {
                        AlertDialog.Builder(activity)
                                .setTitle(BaseTopSportWebViewClient.SSL + " " + activity.getString(R.string.error))
                                .setMessage(error.toString())
                                .setPositiveButton(activity.getString(R.string.go_on)) { _, _ ->
                                    handler.proceed()
                                }
                                .setNegativeButton(R.string.cancel) { _, _ ->
                                    handler.cancel()
                                }
                                .create()
                                .show()
                    } else {
                        handler.cancel()
                    }
                }
            }

Antonis Radz
  • 3,036
  • 1
  • 16
  • 34