android webview崩溃4.3

时间:2013-08-08 15:28:26

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

自从4.3发布以来,我的Android中的payement 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)findViewById(R.id.my_web_view);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
很多

2 个答案:

答案 0 :(得分:6)

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

简而言之,android已经解决了这个问题,它应该可以在4.3的下一个版本中使用。

答案 1 :(得分:0)

虽然rahul.garg是正确的,但您可以通过向应用程序的manigest文件添加以下权限来解决此问题。
机器人:名称=&#34; android.permission.INTERNET对&#34; 机器人:名称=&#34; android.permission.ACCESS_NETWORK_STATE&#34;