webview访问https7.0系统兼容问题dlopen failed: "/data/app/com.google.android.webview-2/li

lgx06 2017-09-29 10:53:15
先描述下:我这里是一个弹框,弹框里面是webview,

问题点:自从上了https,解析webview就开始报错了,

报错重点信息如下:
Caused by: android.view.InflateException: Binary XML file line #31: Error inflating class android.webkit.WebView
Caused by: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-2/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit


在友盟统计里看到的报错信息如下:


android.view.InflateException: Binary XML file line #31: Binary XML file line #31: Error inflating class android.webkit.WebView
at Android.MODEL(VKY-AL00)
at Android.OS.VERSION(7.0)
at Android.FINGERPRINT(HUAWEI/VKY-AL00/HWVKY:7.0/HUAWEIVKY-AL00/C00B172:user/release-keys)
at Android.WHERE()
Caused by: android.view.InflateException: Binary XML file line #31: Error inflating class android.webkit.WebView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:656)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:64)
at com.android.internal.policy.HwPhoneLayoutInflater.onCreateView(HwPhoneLayoutInflater.java:107)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:728)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:796)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:869)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:872)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at com.app.real.view.dialog.H5PayDialog.init(H5PayDialog.java:106)
at com.app.real.view.dialog.H5PayDialog.<init>(H5PayDialog.java:101)
at com.app.real.asynctask.PublicPayRequest$1.onSuccess(PublicPayRequest.java:45)
at com.app.real.util.net.HttpVolley$3.onResponse(HttpVolley.java:159)
at com.app.real.util.net.HttpVolley$3.onResponse(HttpVolley.java:143)
at com.app.real.util.net.BaseRequest.deliverResponse(BaseRequest.java:39)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6577)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Caused by: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:204)
at android.webkit.WebView.getFactory(WebView.java:2325)
at android.webkit.WebView.ensureProviderCreated(WebView.java:2320)
at android.webkit.WebView.setOverScrollMode(WebView.java:2379)
at android.view.View.<init>(View.java:4020)
at android.view.View.<init>(View.java:4137)
at android.view.ViewGroup.<init>(ViewGroup.java:578)
at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
at android.webkit.WebView.<init>(WebView.java:627)
at android.webkit.WebView.<init>(WebView.java:572)
at android.webkit.WebView.<init>(WebView.java:555)
at android.webkit.WebView.<init>(WebView.java:542)
... 29 more
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:198)
... 40 more
Caused by: java.lang.RuntimeException: Cannot load WebView
at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:75)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.<init>(WebViewChromiumFactoryProvider.java:31)
... 43 more
Caused by: org.chromium.base.library_loader.ProcessInitException
at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:71)
at org.chromium.base.library_loader.LibraryLoader.loadNowOverrideApplicationContext(LibraryLoader.java:25)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:69)
... 44 more
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-2/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit
at java.lang.Runtime.loadLibrary0(Runtime.java:994)
at java.lang.System.loadLibrary(System.java:1533)
at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:55)
... 46 more







xml代码如下:



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/h5_pay_top_linear_top"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="2"
android:background="#00000000"
android:orientation="vertical">

</LinearLayout>

<RelativeLayout
android:id="@+id/h5_pay_relative_bottom"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="3"
android:background="#ffffff">

<View
android:id="@+id/h5_pay_line"
android:layout_width="fill_parent"
android:layout_height="1px"
android:layout_alignParentTop="true"
android:background="@color/public_dark_divide_line_bg"/>

<WebView
android:id="@+id/h5_pay_webview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="300dip"
android:layout_below="@id/h5_pay_line"
android:background="#ffffff" />

<ImageView
android:id="@+id/h5_pay_progressbar"
android:layout_width="20dip"
android:layout_height="20dip"
android:layout_centerInParent="true"
android:scaleType="centerInside"
android:background="@anim/loading_animation"
android:visibility="visible" />

</RelativeLayout>

</LinearLayout>



跪求高手帮忙解答,或者指点,感激不尽。

...全文
2596 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
敢问楼主你的问题最后是怎么解决的呢? 是不是把相关的64位的so文件删除即可呢。
nibinusm22b 2017-12-18
  • 打赏
  • 举报
回复
引用 7 楼 qq_35381515 的回复:
有关64位的全部倒掉,就OK了,谢谢
请问下怎么关
WannaYoo 2017-12-11
  • 打赏
  • 举报
回复
有关64位的全部倒掉,就OK了,谢谢
WannaYoo 2017-12-11
  • 打赏
  • 举报
回复
同问,LZ,这个问题解决了吗?我的没有64位的文件,但是还是报了这样的错
jklwan 2017-09-29
  • 打赏
  • 举报
回复
你这手动导入的同理,只留下"armeabi", "armeabi-v7a", "x86"
jklwan 2017-09-29
  • 打赏
  • 举报
回复
build.gradle配置ndk {abiFilters "armeabi", "armeabi-v7a", "x86"}不要配64位,基于你的项目;甚至可以只保留armeabi或armeabi-v7a;
lgx06 2017-09-29
  • 打赏
  • 举报
回复


补充一点:jar里面加了一些信鸽推送用的so文件
jklwan 2017-09-29
  • 打赏
  • 举报
回复
引用 4 楼 lgx06 的回复:
还有一个疑问,这些so是信鸽推送用的,怎么和webview扯上了关系呢?
你webview是要调用系统webviw内核的, 有些第三方应用商店老爱乱更新Android System Webview,就导致这些问题了,所以就不要用64的。
lgx06 2017-09-29
  • 打赏
  • 举报
回复
引用 3 楼 jklwan 的回复:
你这手动导入的同理,只留下"armeabi", "armeabi-v7a", "x86"



你的意思是把带有64的3个文件夹都删掉,留下剩下的4个?


还有一个疑问,这些so是信鸽推送用的,怎么和webview扯上了关系呢?

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧