android - Mapbox 4 到 Mapbox 5 错误

标签 android gradle mapbox mapbox-gl mapbox-android

我一直在尝试从 Mapbox 4.x.x 升级到 Mapbox 5.x.x。它编译并运行应用程序,但在创建 Mapbox 实例时它崩溃并出现以下错误:

I/art: Rejecting re-init on previously-failed class java.lang.Class<com.mapbox.services.android.telemetry.location.LostLocationEngine>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mapzen/android/lost/api/LostApiClient$ConnectionCallbacks;
I/art:     at java.util.Map com.mapbox.services.android.telemetry.location.LocationEngineProvider.obtainDefaultLocationEnginesDictionary() (LocationEngineProvider.java:54)
I/art:     at void com.mapbox.services.android.telemetry.location.LocationEngineProvider.initAvailableLocationEngines(android.content.Context) (LocationEngineProvider.java:40)
I/art:     at void com.mapbox.services.android.telemetry.location.LocationEngineProvider.<init>(android.content.Context) (LocationEngineProvider.java:23)
I/art:     at com.mapbox.mapboxsdk.Mapbox com.mapbox.mapboxsdk.Mapbox.getInstance(android.content.Context, java.lang.String) (Mapbox.java:54)
I/art:     at void com.studentservices.lostoncampus.AnalyticsApplication.onCreate() (AnalyticsApplication.java:45)
I/art:     at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1032)
I/art:     at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5881)
I/art:     at void android.app.ActivityThread.-wrap3(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1718)
I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
I/art:     at void android.os.Looper.loop() (Looper.java:154)
I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6688)
I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1468)
I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1358)
I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mapzen.android.lost.api.LostApiClient$ConnectionCallbacks" on path: DexPathList[[zip file "/data/app/com.studentservices.lostoncampus-1/base.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_4_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.studentservices.lostoncampus-1/s
I/art:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/art:     at java.util.Map com.mapbox.services.android.telemetry.location.LocationEngineProvider.obtainDefaultLocationEnginesDictionary() (LocationEngineProvider.java:54)
I/art:     at void com.mapbox.services.android.telemetry.location.LocationEngineProvider.initAvailableLocationEngines(android.content.Context) (LocationEngineProvider.java:40)
I/art:     at void com.mapbox.services.android.telemetry.location.LocationEngineProvider.<init>(android.content.Context) (LocationEngineProvider.java:23)
I/art:     at com.mapbox.mapboxsdk.Mapbox com.mapbox.mapboxsdk.Mapbox.getInstance(android.content.Context, java.lang.String) (Mapbox.java:54)
I/art:     at void com.studentservices.lostoncampus.AnalyticsApplication.onCreate() (AnalyticsApplication.java:45)
I/art:     at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1032)
I/art:     at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5881)
I/art:     at void android.app.ActivityThread.-wrap3(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1718)
I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
I/art:     at void android.os.Looper.loop() (Looper.java:154)
I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6688)
I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1468)
I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1358)

我有以下 Mapbox 依赖项:

    implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:5.4.0'

    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:0.3.0'

我不太确定发生了什么事。我尝试过干净的构建、启用多 dex 以及使缓存/重新启动无效,但没有任何运气,任何建议将不胜感激。

编辑:如果我添加 - 似乎可以工作 -

implementation "com.mapzen.android:lost:3.0.2"

最佳答案

至少缺少一个依赖项:

implementation "com.mapzen.android:lost:3.0.2"

关于android - Mapbox 4 到 Mapbox 5 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634441/

相关文章:

android - 我收到 gradle 错误任务执行失败

android - 如何解决此 Implementation() 错误?

android - Activity 构建变体没有测试 Artifact

css - 如何将弹出窗口移动到屏幕特定部分的 anchor /位置?

ios - 如何在 MapBox SDK for IOS 上检测长按手势?

java - 变量未显示在 Cat 日志中

Android 错误:IPerf::tryGetService 失败

java - 是否有任何开源 “MSWord doc to PDF” 转换库可用

android - 如何在Android Studio中使用棉花糖

javascript - 使用 Mapbox 添加自定义图标和标记数据