mapbox / mapbox/mapbox-base-android
java.lang.NoSuchMethodException: com.mapbox.maps.module.telemetry.MapTelemetryImpl.
まだ誰も着手していません。
- 主要言語
- Kotlin
- スター
- 12
- フォーク
- 6
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Android OS version: 14
Devices affected: several, for example Pixel 4a
Maps SDK Version: 10.5.0
I am using Mapbox Android SDK version 10.5.0. I am facing this problem while initializing Mapbox in Android 14. It is working fine in other Android versions, but it crashes in Android 14, as mentioned in the logs below. I have searched for this problem on Google but didn't find any required solution. Kindly, if anyone has a solution, mention it in the comment section.
java.lang.NoSuchMethodException: com.mapbox.maps.module.telemetry.MapTelemetryImpl. [] at java.lang.Class.getConstructor0(Class.java:3325) at java.lang.Class.getConstructor(Class.java:2485) at com.mapbox.common.module.provider.MapboxModuleProvider$noArgConstructorCreator$1.getInstance(MapboxModuleProvider.kt:107) at com.mapbox.common.module.provider.MapboxModuleProvider.createModule(MapboxModuleProvider.kt:69) at com.mapbox.maps.MapController.dispatchTelemetryTurnstileEvent(MapController.kt:218) at com.mapbox.maps.MapController.(MapController.kt:76) at com.mapbox.maps.MapView.(MapView.kt:102) at com.mapbox.maps.MapView.(MapView.kt:70) at com.mapbox.maps.MapView.(MapView.kt:64) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:879) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1035) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:986) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1165) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1126) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1168) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1126) at android.view.LayoutInflater.inflate(LayoutInflater.java:707) at android.view.LayoutInflater.inflate(LayoutInflater.java:545) at com.example.gpstrackingmaps.databinding.ActivityVoiceNavigationBinding.inflate(ActivityVoiceNavigationBinding.java:136) at com.example.gpstrackingmaps.databinding.ActivityVoiceNavigationBinding.inflate(ActivityVoiceNavigationBinding.java:130) at com.example.gpstrackingmaps.activities.VoiceNavigationActivity.onCreate(VoiceNavigationActivity.kt:138) at android.app.Activity.performCreate(Activity.java:8886) at android.app.Activity.performCreate(Activity.java:8851) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1470) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3996) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4167) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:99) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2612) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:222) at android.os.Looper.loop(Looper.java:314) at android.app.ActivityThread.main(ActivityThread.java:8671) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:565) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 2024-05-16 09:41:02.439 8434-8434 MapboxModuleProvider com...oute.gpsfinder.drivingplanner E Module loading failed java.lang.NoSuchFieldException: INSTANCE at java.lang.Class.getField(Class.java:2337) at com.mapbox.common.module.provider.MapboxModuleProvider$kotlinObjectReferenceProvider$1.getInstance(MapboxModuleProvider.kt:117) at com.mapbox.common.module.provider.MapboxModuleProvider.createModule(MapboxModuleProvider.kt:69) at com.mapbox.maps.MapController.dispatchTelemetryTurnstileEvent(MapController.kt:218) at com.mapbox.maps.MapController.(MapController.kt:76) at com.mapbox.maps.MapView.(MapView.kt:102) at com.mapbox.maps.MapView.(MapView.kt:70) at com.mapbox.maps.MapView.(MapView.kt:64) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:879) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1035) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:986) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1165) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1126) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1168) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1126) at android.view.LayoutInflater.inflate(LayoutInflater.java:707) at android.view.LayoutInflater.inflate(LayoutInflater.java:545) at com.example.gpstrackingmaps.databinding.ActivityVoiceNavigationBinding.inflate(ActivityVoiceNavigationBinding.java:136) at com.example.gpstrackingmaps.databinding.ActivityVoiceNavigationBinding.inflate(ActivityVoiceNavigationBinding.java:130) at com.example.gpstrackingmaps.activities.VoiceNavigationActivity.onCreate(VoiceNavigationActivity.kt:138) at android.app.Activity.performCreate(Activity.java:8886) at android.app.Activity.performCreate(Activity.java:8851) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1470) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3996) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4167) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:99) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2612) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:222) at android.os.Looper.loop(Looper.java:314) at android.app.ActivityThread.main(ActivityThread.java:8671) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:565) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 2024-05-16 09:41:02.441 8434-8434 MapboxModuleProvider com...oute.gpsfinder.drivingplanner E Module loading failed java.lang.NoSuchMethodException: com.mapbox.maps.module.telemetry.MapTelemetryImpl.getInstance [] at java.lang.Class.getMethod(Class.java:2937) at java.lang.Class.getMethod(Class.java:2449) at com.mapbox.common.module.provider.MapboxModuleProvider$singletonReferenceProvider$1.getInstance(MapboxModuleProvider.kt:126) at com.mapbox.common.module.provider.MapboxModuleProvider.createModule(MapboxModuleProvider.kt:69) at com.mapbox.maps.MapController.dispatchTelemetryTurnstileEvent(MapController.kt:218) at com.mapbox.maps.MapController.(MapController.kt:76) at com.mapbox.maps.MapView.(MapView.kt:102) at com.mapbox.maps.MapView.(MapView.kt:70) at com.mapbox.maps.MapView.(MapView.kt:64) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:879) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1035) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:986) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1165) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1126) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1168) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1126) at android.view.LayoutInflater.inflate(LayoutInflater.java:707) at android.view.LayoutInflater.inflate(LayoutInflater.java:545) at com.example.gpstrackingmaps.databinding.ActivityVoiceNavigationBinding.inflate(ActivityVoiceNavigationBinding.java:136) at com.example.gpstrackingmaps.databinding.ActivityVoiceNavigationBinding.inflate(ActivityVoiceNavigationBinding.java:130) at com.example.gpstrackingmaps.activities.VoiceNavigationActivity.onCreate(VoiceNavigationActivity.kt:138) at android.app.Activity.performCreate(Activity.java:8886) at android.app.Activity.performCreate(Activity.java:8851) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1470) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3996) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4167) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:99) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2612) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:222) at android.os.Looper.loop(Looper.java:314) at android.app.ActivityThread.main(ActivityThread.java:8671) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:565) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
MapboxModuleProvider.kt の createModule、noArgConstructorCreator、kotlinObjectReferenceProvider のスタックフレームから始め、次にテレメトリの読み込みがトリガーされる MapController.kt を調査します。Android 14 と Maps SDK 10.5.0 でクラッシュを再現してください。報告された reflection エラーで MapView の初期化が失敗しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, kotlin
- 領域
- mobile-dev
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100