UnsatisfiedLinkError:libwebviewchromium.so is 32-bit instead of 64-bit

友盟后台收集到的错误
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

Android System WebView的一个bug,参见:https://bugs.chromium.org/p/chromium/issues/detail?id=547842
在某些第三方应用市场把这个组件更新就会发生一样的报错

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

你可能感兴趣的:(bug)