Intereting Posts
Использование Flow & Mortar с ViewPager Не показывать Android и AVD-менеджер в eclipse Gradle release build с proguard: java.lang.IncompatibleClassChangeError и java.lang.NoSuchMethodError Использование поддерживаемого программным обеспечением / аппаратным обеспечением Keystore для Android и возможных недостатков безопасности / удобства использования Программно подключаться к сопряженному динамику Bluetooth и воспроизводить аудио Почему arm-linux-androideabi-gcc дает ошибку iostream Есть ли удобный способ создания Parcelable классов данных в Android с Kotlin? Невозможно получить доступ к друзьям из Facebook через Android-приложение Вы можете искать Google Play с помощью Intent? Сетевые запросы RxJava и кэширование Ползунок для изображений и видео в Android Почему не нужны получатели при доступе к переменным между действиями? Как загрузить видео на YouTube в Android? Откройте специальное приложение на основе URL-адреса Ожидаемый ресурс аниматора типа

Ошибка раздувания класса android.webkit.WebView происходит спорадически в производстве

Мое приложение находится в Google Play, и оно отлично работает на большинстве устройств (тысячи пользователей). Но в редких случаях (доля процентов ежедневных активных пользователей) я получаю Error inflating class android.webkit.WebView когда я раздуваю макет для своего фрагмента в методе onCreateView . Полная трассировка стека следующая:

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tapmedia.tapito/com.tapmedia.tapito.LockscreenActivity}: android.view.InflateException: Binary XML file line #20: Error inflating class android.webkit.WebView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2694) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.access$900(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5944) 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:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) Caused by: android.view.InflateException: Binary XML file line #20: Error inflating class android.webkit.WebView at android.view.LayoutInflater.createView(LayoutInflater.java:640) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:689) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:748) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.rInflate(LayoutInflater.java:821) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at com.tapmedia.tapito.WebViewFragment.onCreateView(SourceFile:84) at android.support.v4.app.Fragment.performCreateView(SourceFile:1789) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:924) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1116) at android.support.v4.app.FragmentManagerImpl.onCreateView(SourceFile:2196) at android.support.v4.app.FragmentActivity.onCreateView(SourceFile:300) at android.support.v7.app.AppCompatDelegateImplV7.callActivityOnCreateView(SourceFile:838) at android.support.v7.app.AppCompatDelegateImplV11.callActivityOnCreateView(SourceFile:34) at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(SourceFile:826) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(SourceFile:44) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:732) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at android.view.LayoutInflater.inflate(LayoutInflater.java:366) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(SourceFile:249) at android.support.v7.app.AppCompatActivity.setContentView(SourceFile:106) at com.tapmedia.tapito.LockscreenActivity.onCreate(SourceFile:103) at android.app.Activity.performCreate(Activity.java:6289) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.access$900(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5944) 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:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:614) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:689) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:748) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.rInflate(LayoutInflater.java:821) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at com.tapmedia.tapito.WebViewFragment.onCreateView(SourceFile:84) at android.support.v4.app.Fragment.performCreateView(SourceFile:1789) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:924) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1116) at android.support.v4.app.FragmentManagerImpl.onCreateView(SourceFile:2196) at android.support.v4.app.FragmentActivity.onCreateView(SourceFile:300) at android.support.v7.app.AppCompatDelegateImplV7.callActivityOnCreateView(SourceFile:838) at android.support.v7.app.AppCompatDelegateImplV11.callActivityOnCreateView(SourceFile:34) at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(SourceFile:826) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(SourceFile:44) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:732) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at android.view.LayoutInflater.inflate(LayoutInflater.java:366) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(SourceFile:249) at android.support.v7.app.AppCompatActivity.setContentView(SourceFile:106) at com.tapmedia.tapito.LockscreenActivity.onCreate(SourceFile:103) at android.app.Activity.performCreate(Activity.java:6289) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.access$900(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5944) 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:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) Caused by: android.util.AndroidRuntimeException: android.content.pm.PackageManager$NameNotFoundException: com.google.android.webview at android.webkit.WebViewFactory.getFactoryClass(WebViewFactory.java:161) at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:101) at android.webkit.WebView.getFactory(WebView.java:2193) at android.webkit.WebView.ensureProviderCreated(WebView.java:2188) at android.webkit.WebView.setOverScrollMode(WebView.java:2247) at android.view.View.(View.java:3795) at android.view.View.(View.java:3909) at android.view.ViewGroup.(ViewGroup.java:507) at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55) at android.webkit.WebView.(WebView.java:547) at android.webkit.WebView.(WebView.java:492) at android.webkit.WebView.(WebView.java:475) at android.webkit.WebView.(WebView.java:462) at java.lang.reflect.Constructor.newInstance(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:614) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:689) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:748) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.rInflate(LayoutInflater.java:821) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at com.tapmedia.tapito.WebViewFragment.onCreateView(SourceFile:84) at android.support.v4.app.Fragment.performCreateView(SourceFile:1789) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:924) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1116) at android.support.v4.app.FragmentManagerImpl.onCreateView(SourceFile:2196) at android.support.v4.app.FragmentActivity.onCreateView(SourceFile:300) at android.support.v7.app.AppCompatDelegateImplV7.callActivityOnCreateView(SourceFile:838) at android.support.v7.app.AppCompatDelegateImplV11.callActivityOnCreateView(SourceFile:34) at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(SourceFile:826) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(SourceFile:44) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:732) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at android.view.LayoutInflater.inflate(LayoutInflater.java:366) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(SourceFile:249) at android.support.v7.app.AppCompatActivity.setContentView(SourceFile:106) at com.tapmedia.tapito.LockscreenActivity.onCreate(SourceFile:103) at android.app.Activity.performCreate(Activity.java:6289) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.access$900(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5944) 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:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) Caused by: android.content.pm.PackageManager$NameNotFoundException: com.google.android.webview at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:137) at android.webkit.WebViewFactory.getFactoryClass(WebViewFactory.java:133) at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:101) at android.webkit.WebView.getFactory(WebView.java:2193) at android.webkit.WebView.ensureProviderCreated(WebView.java:2188) at android.webkit.WebView.setOverScrollMode(WebView.java:2247) at android.view.View.(View.java:3795) at android.view.View.(View.java:3909) at android.view.ViewGroup.(ViewGroup.java:507) at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55) at android.webkit.WebView.(WebView.java:547) at android.webkit.WebView.(WebView.java:492) at android.webkit.WebView.(WebView.java:475) at android.webkit.WebView.(WebView.java:462) at java.lang.reflect.Constructor.newInstance(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:614) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:689) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:748) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.rInflate(LayoutInflater.java:821) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at com.tapmedia.tapito.WebViewFragment.onCreateView(SourceFile:84) at android.support.v4.app.Fragment.performCreateView(SourceFile:1789) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:924) at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1116) at android.support.v4.app.FragmentManagerImpl.onCreateView(SourceFile:2196) at android.support.v4.app.FragmentActivity.onCreateView(SourceFile:300) at android.support.v7.app.AppCompatDelegateImplV7.callActivityOnCreateView(SourceFile:838) at android.support.v7.app.AppCompatDelegateImplV11.callActivityOnCreateView(SourceFile:34) at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(SourceFile:826) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(SourceFile:44) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:732) at android.view.LayoutInflater.rInflate(LayoutInflater.java:813) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at android.view.LayoutInflater.inflate(LayoutInflater.java:366) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(SourceFile:249) at android.support.v7.app.AppCompatActivity.setContentView(SourceFile:106) at com.tapmedia.tapito.LockscreenActivity.onCreate(SourceFile:103) at android.app.Activity.performCreate(Activity.java:6289) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2759) at android.app.ActivityThread.access$900(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5944) 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:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 

Я не понимаю, что случилось. Поскольку эта ошибка возникает из инструмента онлайн-отчетов (Crashlytics / Fabric), я не могу сказать, происходит ли это каждый раз, когда конкретный пользователь пытается использовать фрагмент или если пользователь обычно получает фрагмент завышенным, а ошибка происходит только от времени до время. Виджет WebView является частью системы, верно? Я имею в виду – я не могу пропустить что-то в своей APK – например, в библиотеке поддержки. Или я могу?

Solutions Collecting From Web of "Ошибка раздувания класса android.webkit.WebView происходит спорадически в производстве"

Если вы видите эти отчеты с устройств под управлением Android Lollipop, пожалуйста, игнорируйте их. Это может произойти всякий раз, когда что-то запускает активность, которая использует WebView, в то время как пакет WebView находится в середине обновления Play Store (что может произойти только на Lollipop в настоящее время). Во время обновлений пакеты обрабатываются менеджером пакетов. То есть, нет ничего плохого в вашем приложении. Временное окно, в то время как обновленный пакет считается несуществующим, обычно невелик, поэтому, когда приложение перезапускается после такого сбоя, оно запускается нормально.