java - android webview崩溃4.3

标签 java android https webview android-4.3-jelly-bean

自 4.3 版本以来,我在 Android 中的支付 webview 遇到了问题。

我猜是由于 SSL 证书重定向造成的,但我无法更改它。

我在三星或索尼 < 4.2 上成功尝试了该网址,但在两个不同的 4.3 nexus 上我得到了此转储。

08-08 17:22:38.619: E/AndroidRuntime(7568): FATAL EXCEPTION: WebViewCoreThread
08-08 17:22:38.619: E/AndroidRuntime(7568): java.lang.StringIndexOutOfBoundsException: length=0; index=-1
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.AbstractStringBuilder.indexAndLength(AbstractStringBuilder.java:212)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:206)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.StringBuffer.charAt(StringBuffer.java:346)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509NameTokenizer.nextToken(X509NameTokenizer.java:78)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509Name.<init>(X509Name.java:719)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509Name.<init>(X509Name.java:655)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509Name.<init>(X509Name.java:593)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.net.http.SslCertificate$DName.<init>(SslCertificate.java:379)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.net.http.SslCertificate.<init>(SslCertificate.java:189)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.net.http.SslCertificate.<init>(SslCertificate.java:178)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.BrowserFrame.setCertificate(BrowserFrame.java:1206)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.JWebCoreJavaBridge.nativeServiceFuncPtrQueue(Native Method)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:113)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.os.Looper.loop(Looper.java:137)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:814)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.Thread.run(Thread.java:841)

我的 WebView 很简单

webview=(WebView)findViewById(R.id.my_web_view);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);

非常感谢

最佳答案

这是一个issue对于 android v4.3,当您尝试打开 https 页面时,它仅发生在 webview 上。 要了解有关该问题的更多信息,请阅读提供的问题链接。

简而言之,Android 已在最后修复了此问题,并且应该会在下一个版本 4.3 中提供。

关于java - android webview崩溃4.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18130047/

相关文章:

Java - 递归方法,获取一个数组中的累积和并返回另一个数组

java - 基于嵌套属性的Elasticsearch查询过滤

Android:如何获取设备的真实屏幕尺寸?

android - Android 中的地理围栏触发问题

node.js - 您如何获得在 https 中使用的 key 和证书对?

java - 在 WinAPI 调用漂亮的 char* 之后获取 GetLastError() 结果的最佳方法是什么?

java - 在android studio中发送邮件

android - 如何拦截ActionBarSherlock中 "Up"(主页按钮)按钮的点击?

Android WebView.postUrl() 在发布到 HTTPS URL 时显示空白屏幕

Java SOAPConnection 调用 Https ASMX 服务