Android MissingWebViewPackageException:未能加载WebView提供程序:未安装WebView

Android MissingWebViewPackageException:未能加载WebView提供程序:未安装WebView,android,android-webview,Android,Android Webview,最近更新了我的应用。更新包括启动时加载webview的对话框。上线后,我的firebase控制台加载了与未安装webview相关的崩溃。坠机报告说 Caused by android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed at android.webkit.WebViewFactory.getWebView

最近更新了我的应用。更新包括启动时加载webview的对话框。上线后,我的firebase控制台加载了与未安装webview相关的崩溃。坠机报告说

Caused by android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
       at android.webkit.WebViewFactory.getWebViewContextAndSetProvider(WebViewFactory.java:339)
       at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:402)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:252)
       at android.webkit.WebView.getFactory(WebView.java:2551)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2545)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2613)
       at android.view.View.<init>(View.java:5441)
       at android.view.View.<init>(View.java:5632)
       at android.view.ViewGroup.<init>(ViewGroup.java:677)
       at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:56)
       at android.webkit.WebView.<init>(WebView.java:410)
       at android.webkit.WebView.<init>(WebView.java:353)
       at android.webkit.WebView.<init>(WebView.java:336)
       at android.webkit.WebView.<init>(WebView.java:323)
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
       at android.view.LayoutInflater.createView(LayoutInflater.java:854)
       at android.view.LayoutInflater.createView(LayoutInflater.java:776)
       at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:930)
       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:950)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1004)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:1126)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:481)
       at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
       at com.myapp.ui.DialogActivity.onCreate(DialogActivity.kt:18)
       at android.app.Activity.performCreate(Activity.java:7981)
       at android.app.Activity.performCreate(Activity.java:7970)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3594)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2146)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:237)
       at android.app.ActivityThread.main(ActivityThread.java:7762)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1047)
但从一些答案来看,这背后的原因也是一样的


try-catch是解决这个问题的唯一方法,还是我在这里做错了什么?任何关于这一点的见解都将非常有帮助和感激。谢谢。

从上周日开始,我们就看到了这一现象,但我们只能通过Play Store发布版本来重现问题(我们确实启用了谷歌的应用程序签名)。我们无法用本地签名的版本重现此问题。您是否尝试使用本文中提到的步骤重现此问题?
Caused by android.content.pm.PackageManager$NameNotFoundException: com.google.android.webview
       at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:120)
       at android.webkit.WebViewFactory.getFactoryClass(WebViewFactory.java:137)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:105)
       at android.webkit.WebView.getFactory(WebView.java:2192)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2187)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2246)
       at android.view.View.<init>(View.java:3591)
       at android.view.View.<init>(View.java:3685)
       at android.view.ViewGroup.<init>(ViewGroup.java:491)
       at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
       at android.webkit.WebView.<init>(WebView.java:538)
       at android.webkit.WebView.<init>(WebView.java:483)
       at android.webkit.WebView.<init>(WebView.java:466)
       at android.webkit.WebView.<init>(WebView.java:453)
       at java.lang.reflect.Constructor.newInstance(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
       at android.view.LayoutInflater.createView(LayoutInflater.java:626)
       at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
       at com.android.internal.policy.impl.HwPhoneLayoutInflater.onCreateView(HwPhoneLayoutInflater.java:75)
       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:701)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:760)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:825)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:828)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:523)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:425)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:368)
       at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
       at com.myapp.ui.DialogActivity.onCreate(DialogActivity.kt:18)
       at android.app.Activity.performCreate(Activity.java:6013)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2359)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2466)
       at android.app.ActivityThread.access$1200(ActivityThread.java:152)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5538)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)