3

I've never encountered this problem before, and my setup is pretty much the same as previous occasions.

The error its self is:

android.view.InflateException: Binary XML file line #7: 
    Error inflating class android.webkit.WebView

I am launching a WebView in an XML file like so:

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

    <WebView
        android:id="@+id/facebookWebview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingBottom="0dp"
        android:paddingLeft="0dp"
        android:paddingRight="0dp"
        android:paddingTop="0dp" />

</RelativeLayout>

I am using tab fragments, and the fragment that launches the xml file is like so:

public class FragmentTab1 extends Fragment{

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        View view = inflater.inflate(R.layout.tabfacebook, container, false);

        // allocate and instanciate webview
        WebView webView = (WebView) view.findViewById(R.id.facebookWebview);
        webView.getSettings().setJavaScriptEnabled(true);

        // load fb url into it
        webView.loadUrl("https://www.facebook.com/urlinhere");

        webView.setWebViewClient(new WebViewClient(){

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                Log.d("TAG", " ==> " + url);
                view.loadUrl(url);
                return true;
            }

        });

        return view;
    }
}

Again, this is as I have always done it. I have commented out the bulk of this code to see if the problem is here, however it is in the XML file not the .java file.

Any suggestions?

EDIT: Entire stack trace

09-07 09:19:06.870    1150-1150/ourpackage.com.ourpackage E/WebViewFactory﹕ Chromium WebView does not exist
09-07 09:19:06.910    1150-1150/ourpackage.com.ourpackage E/WebViewFactory﹕ Chromium WebView does not exist
09-07 09:19:06.910    1150-1150/ourpackage.com.ourpackage D/AndroidRuntime﹕ Shutting down VM
09-07 09:19:06.910    1150-1150/ourpackage.com.ourpackage W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb1a46d70)


android.view.InflateException: Binary XML file line #7: Error inflating class android.webkit.WebView
            at android.view.LayoutInflater.createView(LayoutInflater.java:620)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:57)
            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 ourpackage.com.ourpackage.FragmentTab1.onCreateView(FragmentTab1.java:22)
            at android.app.Fragment.performCreateView(Fragment.java:1701)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1063)
            at android.app.BackStackRecord.run(BackStackRecord.java:684)
            at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1448)
            at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5026)
            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:777)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
            at dalvik.system.NativeStart.main(Native Method)
     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)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:57)
            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 ourpackage.com.ourpackage.FragmentTab1.onCreateView(FragmentTab1.java:22)
            at android.app.Fragment.performCreateView(Fragment.java:1701)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1063)
            at android.app.BackStackRecord.run(BackStackRecord.java:684)
            at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1448)
            at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5026)
            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:777)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.UnsupportedOperationException
            at com.android.webview.nullwebview.NullWebViewFactoryProvider.createWebView(NullWebViewFactoryProvider.java:41)
            at android.webkit.WebView.ensureProviderCreated(WebView.java:2058)
            at android.webkit.WebView.setOverScrollMode(WebView.java:2116)
            at android.view.View.<init>(View.java:3461)
            at android.view.View.<init>(View.java:3517)
            at android.view.ViewGroup.<init>(ViewGroup.java:470)
            at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:52)
            at android.webkit.WebView.<init>(WebView.java:498)
            at android.webkit.WebView.<init>(WebView.java:475)
            at android.webkit.WebView.<init>(WebView.java:455)
            at android.webkit.WebView.<init>(WebView.java:444)
            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)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:57)
            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 ourpackage.com.ourpackage.FragmentTab1.onCreateView(FragmentTab1.java:22)
            at android.app.Fragment.performCreateView(Fragment.java:1701)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1063)
            at android.app.BackStackRecord.run(BackStackRecord.java:684)
            at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1448)
            at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5026)
            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:777)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
            at dalvik.system.NativeStart.main(Native Method)

I have checked my SDK Manager and everything is up to date in there

Josh Boothe
  • 1,413
  • 4
  • 25
  • 40

1 Answers1

2

Credit to Tom R for the answer.

In case anybody else encounters a similar problem, check what emulator you are running.

It appears I was running the emulator for Android Wear, more info can be found here on this if you are unaware.

It was fixed by changing this to just the standard ARM CPU from Wear ARM

Josh Boothe
  • 1,413
  • 4
  • 25
  • 40
  • 4
    Thanks, that helped me a bit. Unfortunately I'm facing the same error and stacktrace in a different environment: I have a live app and randomly get those crash reports in HockeyApp. They're distributed over a variant of devices but notably mostly Nexus devices. My app does not have a wear module or anything like this. Any ideas? – Matthias Wenz May 15 '15 at 09:11
  • @MatthiasWenz did you get any solution for this? – Ayman Mahgoub Sep 02 '15 at 12:37
  • @AymanMahgoub unfortunately not. The error keeps persisting and we can't track it down. – Matthias Wenz Sep 03 '15 at 12:08
  • 1
    seems http://stackoverflow.com/questions/31732169/error-inflating-class-android-webkit-webview-happens-sporadically-in-production has explanation. – lannyf Oct 28 '15 at 15:28