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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM