2

My released app runs fine on multiple thousand devices. There is only one case where an THL device running Android 4.4 throws following stack:

java.lang.RuntimeException: Unable to start activity ComponentInfo{###/###.activity.AGBActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class android.webkit.WebView
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
    at android.app.ActivityThread.access$800(ActivityThread.java:151)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:5292)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class android.webkit.WebView
    at android.view.LayoutInflater.createView(LayoutInflater.java:620)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at ###.fragment.AGBActivityFragment.onCreateView(AGBActivityFragment.java:21)
    at android.app.Fragment.performCreateView(Fragment.java:1700)
    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:866)
    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
    at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142)
    at android.app.Activity.onCreateView(Activity.java:4819)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:469)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:305)
    at android.app.Activity.setContentView(Activity.java:1944)
    at ###.activity.AGBActivity.onCreate(AGBActivity.java:78)
    at android.app.Activity.performCreate(Activity.java:5264)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302)
    ... 11 more
Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.constructNative(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at android.view.LayoutInflater.createView(LayoutInflater.java:594)
    ... 33 more
Caused by: java.lang.NoClassDefFoundError: android/webkit/WebViewFactory$Preloader
    at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:92)
    at android.webkit.WebView.getFactory(WebView.java:2081)
    at android.webkit.WebView.ensureProviderCreated(WebView.java:2076)
    at android.webkit.WebView.setOverScrollMode(WebView.java:2161)
    at android.view.View.<init>(View.java:3474)
    at android.view.View.<init>(View.java:3530)
    at android.view.ViewGroup.<init>(ViewGroup.java:494)
    at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:52)
    at android.webkit.WebView.<init>(WebView.java:525)
    at android.webkit.WebView.<init>(WebView.java:502)
    at android.webkit.WebView.<init>(WebView.java:482)
    at android.webkit.WebView.<init>(WebView.java:471)
    ... 36 more

The referred line 21 in AGBActivityFragment is:

return inflater.inflate(R.layout.fragment_agb, container, false);

The unexciting layout of the fragment is:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:padding="@dimen/activity_margin"
            android:background="#ffffff"
            tools:context="###.fragment.AGBActivityFragment">

<WebView
    android:id="@+id/webView_content"
    android:layout_width="match_parent"
    android:layout_alignParentTop="true"
    android:layout_above="@+id/layout_bottom"
    android:layout_height="wrap_content"/>

<LinearLayout
    android:id="@+id/layout_bottom"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:weightSum="2">

    <Button
        android:id="@+id/btn_decline"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        style="@style/button"
        android:layout_weight="1"
        android:visibility="invisible"
        android:text="@string/decline"/>

    <Button
        android:id="@+id/btn_accept"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        style="@style/button"
        android:visibility="invisible"
        android:text="@string/accept"/>
</LinearLayout>

I guess it is a system bug as stated here. Except that this does not happen on Lollipop and it is not exactly the same error.

Is there any work around or could someone explain the cause?

Community
  • 1
  • 1
AlbAtNf
  • 3,859
  • 3
  • 25
  • 29
  • Yes, looks like a system problem, not a problem with your app. WebView is not updateable on KitKat, thus it definitely can't be caused by the WebView updating issue. Does this happen only on a THL device, or there are also reports from other devices? – Mikhail Naganov Mar 04 '16 at 21:20
  • Yes, only occurence is on that THL device. So there is no urgent need of a fix. But it would be nice. – AlbAtNf Mar 07 '16 at 08:21

0 Answers0