3

Crashlytics is reporting a common crash that I have not been able to successfully diagnose and correct. It looks like it may be an issue with google Maps, but I am not certain of why. This only occurs on 4.1.2 (69%) and 4.4.2 (31%) devices. I feel that I have to tweak my code to accommodate these versions for google maps.

For all other versions everything works fine. No crashes occur past ICS. I will post the main components of my implementation.

I have a class that extends SupportMapFragment

public class MapFragment extends SupportMapFragment {
    private TouchableWrapper mTouchView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
        View originalContentView = super.onCreateView(inflater, parent, savedInstanceState);
        mTouchView = new TouchableWrapper(getActivity());
        mTouchView.addView(originalContentView);
        return mTouchView;
    }

    @Override
    public View getView() {
        return mTouchView;
    }

    /**
     * MapOnTouchListener callback
     *
     * @param listener
     */
    public void setMapTouchListener(MapOnTouchListener listener) {
        mTouchView.setMapOnTouchListener(listener);
    }
}

In XML my map is referenced as such

<fragment
    android:id="@+id/map"
    android:name="<package name>.MapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

I have seen as a suggestion to confirm the addition of specific meta-data in the manifest, I have this already

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="${google_map_key}"/>
<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version"/>

Anyone have further solutions or suggestions?

Crash log:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{<package name>.MapActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249)
       at android.app.ActivityThread.access$800(ActivityThread.java:139)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5057)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
       at dalvik.system.NativeStart.main(NativeStart.java)
Caused by android.view.InflateException: Binary XML file line #8: Error inflating class fragment
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
       at android.view.LayoutInflater.parseInclude(LayoutInflater.java:839)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:745)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
       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:290)
       at android.app.Activity.setContentView(Activity.java:1929)
       at com.ztrip.refresh.activity.MapActivity.onCreate(Unknown Source)
       at android.app.Activity.performCreate(Activity.java:5231)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2163)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249)
       at android.app.ActivityThread.access$800(ActivityThread.java:139)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5057)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
       at dalvik.system.NativeStart.main(NativeStart.java)
Caused by java.lang.NullPointerException
       at maps.dz.o.a(Unknown Source)
       at maps.dg.e.a(Unknown Source)
       at maps.dg.p.a(Unknown Source)
       at maps.ei.ag.a(Unknown Source)
       at maps.ei.bu.a(Unknown Source)
       at maps.ei.n$1.a(Unknown Source)
       at maps.ei.n.a(Unknown Source)
       at com.google.android.gms.maps.internal.i$a.onTransact(:com.google.android.gms.alldynamite:107)
       at android.os.Binder.transact(Binder.java:361)
       at com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(Unknown Source)
       at com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(Unknown Source)
       at com.google.android.gms.a.f.a(Unknown Source)
       at com.google.android.gms.a.b.zza(Unknown Source)
       at com.google.android.gms.a.b.onCreateView(Unknown Source)
       at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
       at com.ztrip.refresh.fragments.MapFragment.onCreateView(Unknown Source)
       at android.support.v4.app.Fragment.performCreateView(Unknown Source)
       at android.support.v4.app.ag.a(Unknown Source)
       at android.support.v4.app.ag.b(Unknown Source)
       at android.support.v4.app.ag.a(Unknown Source)
       at android.support.v4.app.ag.a(Unknown Source)
       at android.support.v4.app.ac.a(Unknown Source)
       at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(Unknown Source)
       at android.support.v4.app.t.onCreateView(Unknown Source)
       at android.support.v4.app.FragmentActivity.onCreateView(Unknown Source)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
       at android.view.LayoutInflater.parseInclude(LayoutInflater.java:839)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:745)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
       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:290)
       at android.app.Activity.setContentView(Activity.java:1929)
       at com.ztrip.refresh.activity.MapActivity.onCreate(Unknown Source)
       at android.app.Activity.performCreate(Activity.java:5231)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2163)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249)
       at android.app.ActivityThread.access$800(ActivityThread.java:139)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5057)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
       at dalvik.system.NativeStart.main(NativeStart.java)
Daniel Nugent
  • 43,104
  • 15
  • 109
  • 137
portfoliobuilder
  • 7,556
  • 14
  • 76
  • 136
  • having same issue, looks like Android bug https://code.google.com/p/gmaps-api-issues/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal&groupby=&sort=&id=9163 – Shirish Herwade Jun 06 '16 at 12:58

0 Answers0