NPE using Google maps services on mapView.onCreate (...)

Background

Our application has access to Google Maps, and one of the fragments should display a map. Due to some limitations, we had to use MapView instead of MapFragment, as such:

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MapsInitializer.initialize(getActivity().getApplicationContext());
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout...., null);
    mMapView = (MapView) rootView.findViewById(R.id.map);
    mMapView.onCreate(savedInstanceState);
    mMapView.getMapAsync(...);
    //...
    return rootView;
}

Problem

Using Crashlytics, we received many crash reports on various devices and versions of Android.

The error shows this error:

Fatal Exception: java.lang.NullPointerException
       at com.google.maps.api.android.lib6.gmm6.m.ad.a(Unknown Source)
       at com.google.maps.api.android.lib6.gmm6.c.h.a(Unknown Source)
       at com.google.maps.api.android.lib6.gmm6.c.y.a(Unknown Source)
       at com.google.maps.api.android.lib6.e.bd.a(Unknown Source)
       at com.google.maps.api.android.lib6.e.ev.a(Unknown Source)
       at com.google.maps.api.android.lib6.e.af.a(Unknown Source)
       at com.google.android.gms.maps.internal.w.onTransact(SourceFile:66)
       at android.os.Binder.transact(Binder.java:310)
       at com.google.android.gms.maps.internal.IMapViewDelegate$zza$zza.onCreate(Unknown Source)
       at com.google.android.gms.maps.MapView$zza.onCreate(Unknown Source)
       at com.google.android.gms.dynamic.zza$3.zzb(Unknown Source)
       at com.google.android.gms.dynamic.zza$1.zza(Unknown Source)
       at com.google.android.gms.maps.MapView$zzb.zzzW(Unknown Source)
       at com.google.android.gms.maps.MapView$zzb.zza(Unknown Source)
       at com.google.android.gms.dynamic.zza.zza(Unknown Source)
       at com.google.android.gms.dynamic.zza.onCreate(Unknown Source)
       at com.google.android.gms.maps.MapView.onCreate(Unknown Source)
       at ...

Here's what Crashlytics told me about Android devices and versions:

Android versions: 4.2.1, 4.2.2, 4.4.2, 5.0, 5.0.2, 5.1, 6.0, 6.0.1.

Devices

  • Huawei: G610 U30, G6 U10, Ascent G510
  • Wiko: Lenny, Rainbow Jam, traffic signs
  • ZTE: Staraddict II plus, Z740G, ZTE blade III

other

What i tried

I tried searching for the problem, and only the similar one I found was:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=9021

, , , ( ).

?

? ? , - , ?

+4

Source: https://habr.com/ru/post/1630089/


All Articles