1

与 Mapbox 相关的类没有任何更改,我在运行我的应用程序后立即崩溃。

我不知道是什么原因造成的,也找不到任何回应。

这些是我的 gradle 依赖项:

compile ('com.mapbox.mapboxsdk:mapbox-android-sdk:5.2.0-beta.3@aar'){
    transitive=true
}

compile 'com.mapbox.mapboxsdk:mapbox-android-services:2.3.0-SNAPSHOT'

这是崩溃日志

致命异常:主进程:com.example.myapp,PID:16817 java.lang.NoSuchMethodError:没有虚拟方法初始化(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Lcom/mapbox/services/ android/telemetry/location/LocationEngine;)V 在类 Lcom/mapbox/services/android/telemetry/MapboxTelemetry; 或其超类(“com.mapbox.services.android.telemetry.MapboxTelemetry”的声明出现在 com.mapbox 的 /data/app/com.example.myapp-4RgMqGrrEFZc1X5nPn936g==/base.apk:classes84.dex 中)。 mapboxsdk.Mapbox.getInstance(Mapbox.java:

11-02 10:10:35.386 16817-16817/com.example.myapp E/CrashlyticsCore:执行任务失败。java.util.concurrent.TimeoutException 在 com.crashlytics.android.core.CrashlyticsExecutorServiceWrapper.executeSyncLoggingException(CrashlyticsExecutorServiceWrapper.java:44) 在 com.crashlytics.android 的 java.util.concurrent.FutureTask.get(FutureTask.java:206)。 core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:

4

1 回答 1

1

经过几个小时的挣扎,我发现存在某种依赖冲突。检查 Mapbox.getInstance 方法内部,有一个 LocationEngine 参数传递给 MapboxTelemetry.getInstance,该参数不是从正确的包中获取的。

长话短说,这些是避免这种烦人的崩溃所需的 gradle 依赖项:

compile ('com.mapbox.mapboxsdk:mapbox-android-sdk:5.2.0-beta.3@aar'){
    transitive=true
    exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-services'
}

compile ('com.mapbox.mapboxsdk:mapbox-android-services:2.3.0-SNAPSHOT') {
    exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-sdk'
    exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-telemetry'
}

我希望这对任何人都有帮助!

于 2017-11-02T10:53:28.243 回答