无法加载WebView提供程序:未安装WebView

时间:2017-08-25 09:36:42

标签: android webview

最近我收到了有关OS 7.1.1设备的Crashlytic日志的错误报告。我在我的应用程序中使用Webview使用我的自定义CSS显示Web URL。

这是崩溃堆栈跟踪:

Non-fatal Exception: android.view.InflateException: Binary XML file line #106: Binary XML file line #106: Error inflating class android.webkit.WebView

Caused by android.view.InflateException: Binary XML file line #106: Error inflating class android.webkit.WebView

Caused by java.lang.reflect.InvocationTargetException
   at java.lang.reflect.Constructor.newInstance0(Constructor.java)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
   at android.view.LayoutInflater.createView(LayoutInflater.java:645)
   at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
   at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
   at feeddetails.FeedDetailsFragment.onCreateView(FeedDetailsFragment.java:95)
   at android.support.v4.app.Fragment.performCreateView(Fragment.java:2192)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299)
   at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
   at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
   at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2363)
   at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2149)
   at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)
   at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1984)
   at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:626)
   at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
   at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642)
   at android.view.View.measure(View.java:19834)
   at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
   at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
   at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
   at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
   at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
   at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
   at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
   at com.android.internal.policy.DecorView.onMeasure(DecorView.java:692)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2358)
   at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1430)
   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1679)
   at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1306)
   at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6579)
   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
   at android.view.Choreographer.doCallbacks(Choreographer.java:683)
   at android.view.Choreographer.doFrame(Choreographer.java:619)
   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
   at android.os.Handler.handleCallback(Handler.java:751)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:154)
   at android.app.ActivityThread.main(ActivityThread.java:6316)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
 Caused by android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
   at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:371)
   at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:194)
   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.(View.java)
   at android.view.View.(View.java)
   at android.view.ViewGroup.(ViewGroup.java)
   at android.widget.AbsoluteLayout.(AbsoluteLayout.java)
   at android.webkit.WebView.(WebView.java)
   at android.webkit.WebView.(WebView.java)
   at android.webkit.WebView.(WebView.java)
   at android.webkit.WebView.(WebView.java)
   at java.lang.reflect.Constructor.newInstance0(Constructor.java)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
   at android.view.LayoutInflater.createView(LayoutInflater.java:645)
   at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
   at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
   at feeddetails.FeedDetailsFragment.onCreateView(FeedDetailsFragment.java:95)
   at android.support.v4.app.Fragment.performCreateView(Fragment.java:2192)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299)
   at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
   at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
   at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2363)
   at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2149)
   at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)
   at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1984)
   at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:626)
   at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
   at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642)
   at android.view.View.measure(View.java:19834)
   at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
   at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
   at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
   at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
   at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
   at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
   at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6164)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
   at com.android.internal.policy.DecorView.onMeasure(DecorView.java:692)
   at android.view.View.measure(View.java:19834)
   at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2358)
   at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1430)
   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1679)
   at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1306)
   at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6579)
   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
   at android.view.Choreographer.doCallbacks(Choreographer.java:683)
   at android.view.Choreographer.doFrame(Choreographer.java:619)
   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
   at android.os.Handler.handleCallback(Handler.java:751)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:154)
   at android.app.ActivityThread.main(ActivityThread.java:6316)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)

从堆栈跟踪中可以清楚地看到android应用程序无法在设备中找到Webview。

如果系统中不存在,如何处理此问题并使用户安装系统Webview。这主要发生在Android Nougat OS设备上。

0 个答案:

没有答案