simsun 器粉跑堂
2016-03-21 16:54:26 

[Crash Bug]X5会在Android6.0以上的机器上崩溃

Fatal Exception: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:169)
       at android.webkit.WebView.getFactory(WebView.java:2277)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2272)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2331)
       at android.view.View.(View.java:3840)
       at android.view.View.(View.java:3943)
       at android.view.ViewGroup.(ViewGroup.java:573)
       at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)
       at android.webkit.WebView.(WebView.java:597)
       at android.webkit.WebView.(WebView.java:542)
       at android.webkit.WebView.(WebView.java:525)
       at android.webkit.WebView.(WebView.java:512)
       at android.webkit.WebView.(WebView.java:502)
       at com.tencent.smtt.sdk.c.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:150)
       at android.app.ActivityThread.main(ActivityThread.java:5546)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:682)
Caused by java.lang.reflect.InvocationTargetException
       at java.lang.reflect.Constructor.newInstance(Constructor.java)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:163)
       at android.webkit.WebView.getFactory(WebView.java:2277)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2272)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2331)
       at android.view.View.(View.java:3840)
       at android.view.View.(View.java:3943)
       at android.view.ViewGroup.(ViewGroup.java:573)
       at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)
       at android.webkit.WebView.(WebView.java:597)
       at android.webkit.WebView.(WebView.java:542)
       at android.webkit.WebView.(WebView.java:525)
       at android.webkit.WebView.(WebView.java:512)
       at android.webkit.WebView.(WebView.java:502)
       at com.tencent.smtt.sdk.c.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:150)
       at android.app.ActivityThread.main(ActivityThread.java:5546)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:682)
Caused by java.lang.RuntimeException: Cannot load WebView
       at org.chromium.android_webview.AwBrowserProcess.loadLibrary(AwBrowserProcess.java:40)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:131)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.(WebViewChromiumFactoryProvider.java:107)
       at java.lang.reflect.Constructor.newInstance(Constructor.java)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:163)
       at android.webkit.WebView.getFactory(WebView.java:2277)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2272)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2331)
       at android.view.View.(View.java:3840)
       at android.view.View.(View.java:3943)
       at android.view.ViewGroup.(ViewGroup.java:573)
       at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)
       at android.webkit.WebView.(WebView.java:597)
       at android.webkit.WebView.(WebView.java:542)
       at android.webkit.WebView.(WebView.java:525)
       at android.webkit.WebView.(WebView.java:512)
       at android.webkit.WebView.(WebView.java:502)
       at com.tencent.smtt.sdk.c.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:150)
       at android.app.ActivityThread.main(ActivityThread.java:5546)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:682)
Caused by org.chromium.base.library_loader.ProcessInitException
       at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:271)
       at org.chromium.base.library_loader.LibraryLoader.loadNow(LibraryLoader.java:148)
       at org.chromium.android_webview.AwBrowserProcess.loadLibrary(AwBrowserProcess.java:34)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:131)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.(WebViewChromiumFactoryProvider.java:107)
       at java.lang.reflect.Constructor.newInstance(Constructor.java)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:163)
       at android.webkit.WebView.getFactory(WebView.java:2277)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2272)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2331)
       at android.view.View.(View.java:3840)
       at android.view.View.(View.java:3943)
       at android.view.ViewGroup.(ViewGroup.java:573)
       at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)
       at android.webkit.WebView.(WebView.java:597)
       at android.webkit.WebView.(WebView.java:542)
       at android.webkit.WebView.(WebView.java:525)
       at android.webkit.WebView.(WebView.java:512)
       at android.webkit.WebView.(WebView.java:502)
       at com.tencent.smtt.sdk.c.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:150)
       at android.app.ActivityThread.main(ActivityThread.java:5546)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:682)
Caused by java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit
       at java.lang.Runtime.loadLibrary(Runtime.java:384)
       at java.lang.System.loadLibrary(System.java:1086)
       at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:257)
       at org.chromium.base.library_loader.LibraryLoader.loadNow(LibraryLoader.java:148)
       at org.chromium.android_webview.AwBrowserProcess.loadLibrary(AwBrowserProcess.java:34)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:131)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.(WebViewChromiumFactoryProvider.java:107)
       at java.lang.reflect.Constructor.newInstance(Constructor.java)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:163)
       at android.webkit.WebView.getFactory(WebView.java:2277)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2272)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2331)
       at android.view.View.(View.java:3840)
       at android.view.View.(View.java:3943)
       at android.view.ViewGroup.(ViewGroup.java:573)
       at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)
       at android.webkit.WebView.(WebView.java:597)
       at android.webkit.WebView.(WebView.java:542)
       at android.webkit.WebView.(WebView.java:525)
       at android.webkit.WebView.(WebView.java:512)
       at android.webkit.WebView.(WebView.java:502)
       at com.tencent.smtt.sdk.c.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:150)
       at android.app.ActivityThread.main(ActivityThread.java:5546)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:682)
19 条回复
wistoch 器粉跑堂
2016-03-23 16:06:59 沙发
这个是系统WebView的堆栈。 


Caused by java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit



simsun 器粉跑堂
2016-04-03 02:48:03 板凳
谢谢楼上的同学回复。是的,是chrome的一个bug。


https://bugs.chromium.org/p/chromium/issues/detail?id=547842



器粉跑堂
2017-09-08 16:48:52 地板
simsun 发表于 2016-04-03 02:48:03 
谢谢楼上的同学回复。是的,是chrome的一个bug。


https://bugs.chromium.org/p/ch ...

您好,我现在也遇见这个问题了。应该怎么去解决呢?
器粉跑堂
2017-09-08 16:49:18 4#
应该怎么解决这个问题呢?
小海_8E8Vtu 器粉跑堂
2017-09-11 10:11:12 5#
 ๑ 发表于 2017-09-08 16:49:18 
应该怎么解决这个问题呢?

之前没遇到过,这两天的统计,都爆表了,不止5.0、6.0、7.0都报这个错了,你解决了吗

z_heJ1SF 器粉跑堂
2017-09-11 10:53:54 6#
小海_8E8Vtu 发表于 2017-09-11 10:11:12 
之前没遇到过,这两天的统计,都爆表了,不止5.0、6.0、7.0都报这个错了,你解决了吗

对的,我从上周开始也遇到了这个问题,这种系统级的bug怎么解决
Forget_SnjwEl 器粉跑堂
2017-09-11 14:44:30 7#
问下这个问题改怎么解决或者避免,之前一直是好好的,就从9月8号开始,这种崩溃统计都数不清了
Caused by java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit,
z_heJ1SF 器粉跑堂
2017-09-11 17:21:15 8#
Forget_SnjwEl 发表于 2017-09-11 14:44:30 
问下这个问题改怎么解决或者避免,之前一直是好好的,就从9月8号开始,这种崩溃统计都数不清了
Caused by java ...

我这边也是,请问有解决方案了吗
z_heJ1SF 器粉跑堂
2017-09-11 20:15:49 9#
Android System WebView
我在应用市场把这个组件更新就会发生一样的报错,你们可以试着百度下
Minzou 器粉跑堂
2017-09-12 08:56:16 10#
说半天没有解决办法~~,
蛋定_xAMt7e 器粉跑堂
2017-09-12 11:43:05 11#
解压apk文件,看libs文件夹下是否有arm64-v8a,有的话就想办法把它去掉
z_heJ1SF 器粉跑堂
2017-09-12 14:17:01 12#
Minzou 发表于 2017-09-12 08:56:16 
说半天没有解决办法~~,

办法1:让用户在设置里面把Android System Webview卸载更新
办法2:让你的应用做适配添加这个
ndk {abiFilters "armeabi""armeabi-v7a""x86""mips"}
失重星空 器粉跑堂
2017-09-13 11:40:20 13#
 本帖最后由 失重星空 于 2017-09-13 11:52:09 编辑楼上正解,今天刚解决了这个问题。
触发场景:在应用汇更新安装了最新版的Android System Webview;
触发系统:CPU为arm64。

应用汇在9月7号发布了新版的Android System Webview,这是为什么从9月7号开始不断的收到崩溃信息的原因。其实google play上9月5号也发布了新版,但是更新google play上的版本不会出现问题,估计是应用汇上的版本对arm64没有做适配导致的。

解决方法(参考楼上):
办法1:让用户在设置里面把Android System Webview卸载更新
办法2:让你的应用做适配添加这个 ndk {abiFilters "armeabi""armeabi-v7a""x86""mips"}
已试过,完美解决。如此一来打包的时候只打包了32位的.so文件,打包出来的apk也小了一些。只是性能方面不知道影响会怎样。在此贴一篇介绍so的文章,供参考 http://www.jianshu.com/p/cb05698a1968
z_heJ1SF 器粉跑堂
2017-09-13 17:21:56 14#
失重星空 发表于 2017-09-13 11:40:20 
楼上正解,今天刚解决了这个问题。
触发场景:在应用汇更新安装了最新版的Android System Webview; ...

楼上你们测试有测出改了后会不会影响应用么
LYJ_MVECWk 器粉跑堂
2017-09-13 19:46:38 15#
失重星空 发表于 2017-09-13 11:40:20 
楼上正解,今天刚解决了这个问题。
触发场景:在应用汇更新安装了最新版的Android System Webview; ...

我把其他的都去掉,jniLibs下面我只保留一个"armeabi"这一个可以吗,然后只写ndk {    abiFilters "armeabi"}可以吗?
失重星空 器粉跑堂
2017-09-14 15:43:51 16#
LYJ_MVECWk 发表于 2017-09-13 19:46:38 
我把其他的都去掉,jniLibs下面我只保留一个"armeabi"这一个可以吗,然后只写ndk {[/backcolor ...

可以的,因为arm v7、v8和x86、x86_64都可以使用armeabi里面的.so文件,mips不适配armeabi,但目前并没有或者说极少极少有以mips为cpu的手机,所以mips可以忽略。

你尝试解压一下微信的apk,里面就只有armeabi的库,但是里面有一两个v7的.so文件,估计是为了动态进行分配的,因为某些功能在armeabi的库里发挥不出它应有的优势,如WebView,但是我个人在使用过程中感觉不出它们的差别;
解压知乎的apk,里面只有armeabi-v7的库,因为知乎的最低适配是4.4.4,在这版本之后的手机里应该已经没有arm v5的了。

以上是个人的愚见,仅供参考
失重星空 器粉跑堂
2017-09-14 15:47:33 17#
z_heJ1SF 发表于 2017-09-13 17:21:56 
楼上你们测试有测出改了后会不会影响应用么

可能在高配的手机上性能会有些细微的差别吧,但高配的手机性能本来就好,在使用的过程中感受不到区别
Forget_SnjwEl 器粉跑堂
2017-09-18 13:00:28 18#
失重星空 发表于 2017-09-13 11:40:20 
楼上正解,今天刚解决了这个问题。
触发场景:在应用汇更新安装了最新版的Android System Webview; ...

无限_iYfubm 器粉跑堂
2017-09-18 14:57:44 19#
失重星空 发表于 2017-09-13 11:40:20 
楼上正解,今天刚解决了这个问题。
触发场景:在应用汇更新安装了最新版的Android System Webview; ...

楼上正解!应用汇上的Android System WebView 竟然依然没有更正!下发的安装包还是错误的。
回复

您需要 登录 后才可以回帖