mapbox / mapbox/mapbox-navigation-android-examples

java.lang.UnsatisfiedLinkError cannot locate symbol referenced by "**==/base.apk!/lib/arm64-v8a/libmapbox-maps.so"

オープン
#141 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

jira-sync-complete
主要言語
Kotlin
スター
65
フォーク
56
平均マージ
1日 4時間
マージ済み PR(30日)
2

説明

Hi, I met java.lang.UnsatisfiedLinkError when use mapbox navigation android adk(com.mapbox.navigation:android:2.7.0) . Could anyone help to look at this issue.

Here is my log:

```
2022-09-07 15:11:08.554 24451-24451/com.microsoft.asr.gm E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.microsoft.asr.gm, PID: 24451
java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN6mapbox6common13EventsServiceC1EONS0_20EventsServiceOptionsE" referenced by "/data/app/com.microsoft.asr.gm-j54wwzuJHGgSj6NZVHisaA==/base.apk!/lib/arm64-v8a/libmapbox-maps.so"...
at android.app.ActivityThread.installProvider(ActivityThread.java:7755)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:7291)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7187)
at android.app.ActivityThread.access$2200(ActivityThread.java:296)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2208)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:8178)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
Caused by: androidx.startup.StartupException: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN6mapbox6common13EventsServiceC1EONS0_20EventsServiceOptionsE" referenced by "/data/app/com.microsoft.asr.gm-j54wwzuJHGgSj6NZVHisaA==/base.apk!/lib/arm64-v8a/libmapbox-maps.so"...
at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:187)
at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:238)
at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206)
at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2121)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2094)
at android.app.ActivityThread.installProvider(ActivityThread.java:7750)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:7291) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7187) 
at android.app.ActivityThread.access$2200(ActivityThread.java:296) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2208) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:213) 
at android.app.ActivityThread.main(ActivityThread.java:8178) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101) 
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN6mapbox6common13EventsServiceC1EONS0_20EventsServiceOptionsE" referenced by "/data/app/com.microsoft.asr.gm-j54wwzuJHGgSj6NZVHisaA==/base.apk!/lib/arm64-v8a/libmapbox-maps.so"...
at java.lang.Runtime.loadLibrary0(Runtime.java:1071)
at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
at java.lang.System.loadLibrary(System.java:1668)
at com.mapbox.common.loader.MapboxLibraryLoader.load(MapboxLibraryLoader.kt:19)
at com.mapbox.maps.loader.MapboxMapsInitializer.create(MapboxMapsInitializer.java:16)
at com.mapbox.maps.loader.MapboxMapsInitializer.create(MapboxMapsInitializer.java:13)
at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:180)
at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:238) 
at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206) 
at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45) 
at android.content.ContentProvider.attachInfo(ContentProvider.java:2121) 
at android.content.ContentProvider.attachInfo(ContentProvider.java:2094) 
at android.app.ActivityThread.installProvider(ActivityThread.java:7750) 
at android.app.ActivityThread.installContentProviders(ActivityThread.java:7291) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7187) 
at android.app.ActivityThread.access$2200(ActivityThread.java:296) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2208) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:213) 
at android.app.ActivityThread.main(ActivityThread.java:8178) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101) 
2022-09-07 15:11:08.587 24451-24451/com.microsoft.asr.gm I/Process: Sending signal. PID: 24451 SIG: 9
```

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、com.mapbox.navigation:android:2.7.0 と arm64-v8a ビルドでクラッシュを再現し、次に MapboxLibraryLoader.kt と MapboxMapsInitializer.java に示されているネイティブライブラリのロードパスを調査します。パッケージ化されたネイティブライブラリと依存関係のバージョンを比較して、EventsService シンボルが見つからない理由を特定します。アプリケーションの起動が UnsatisfiedLinkError なしで完了すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
android, kotlin
領域
mobile
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。