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

Log信息

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)

bug出现的情况:

触发场景:在应用汇更新安装了最新版的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

 

posted @ 2017-10-24 15:42  请输入...昵称  阅读(2461)  评论(0编辑  收藏  举报