タイトル通り、「@react-native-mapbox-gl/maps」ライブラリを使っていて発生したエラーについてです。
エラー全文は「attempt to invoke interface method ‘void com.mapbox.mapboxsdk.maps.TelemetryRequestState(boolean)’ on a null object reference」です。
なお、こちらのエラーは Android 12 で発生しました。
エラー対処にあたり、参考にさせていただいた投稿はこちら。
Android 12 crash: MapboxGL.setTelemetryEnabled(boolean) causes NullPointerException · Issue #1677 · react-native-mapbox-gl/maps · GitHub
https://github.com/react-native-mapbox-gl/maps/issues/1677
こちらの記事によると、android/app/build.gradle
に下記を追加すればとのことでした。
dependencies { ...... implementation 'com.mapbox.mapboxsdk:mapbox-android-telemetry:6.1.0' ...... }
しかし、私の環境では既に上記は追加済み…。
他にも mapbox SDK
のバージョンを 9.7.1
に上げるといいという投稿もありましたが、こちらはアプリビルド時にエラーが発生しました。
で、色々検索した結果、コードから下記の記述をコメントアウトするのが一番手っ取り早くて確実でした。
MapboxGL.setTelemetryEnabled(false);
確か参考にさせていただいたサンプルコードに載っていたのをそのまま使っていたので…正直、この記述が何をしているのかがいまいちわからず…。
物は試しと、上記を削除してアプリを実行してみたところ、問題なく地図が表示されました!
ということで、とりあえず一旦この状態で様子を見たいと思います!
以上、React Native の「@react-native-mapbox-gl/maps」ライブラリの MapboxGL.setTelemetryEnabled() メソッドを実行するとアプリがクラッシュする時の対処方法についてでした。
ご参考になれば幸いです。