Тип программы уже представлен: com.mapbox.android.core.location.GoogleLocationEngine - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь использовать Mapbox вместе с местоположением сервисов Google Play.

Все работало нормально, пока я не добавил implementation 'com.google.android.gms:play-services-location:16.0.0', чтобы иметь возможность запрашивать обновления местоположения, когда приложение в фоновом режиме.

Gradle компилируется нормально, но при компиляции проекта я получаю следующую ошибку:

....
Caused by: com.android.tools.r8.utils.AbortException: Error: Program type already present: com.mapbox.android.core.location.GoogleLocationEngine$1$2
at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:116)
at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:74)
at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:59)
... 57 more

У меня раньше была похожая проблема, и я смог исключить библиотеку, вызывающую проблему.Тем не менее, с Mapbox я не могу понять, как решить этот конфликт.

То, что я пытался:

implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:6.8.0'){
    exclude group: "com.google.android.gms", module: "play-services-location"
} // Probably will have no effect as this module doesn't seem to be a dependency of Mapbox

ИЛИ

implementation ('com.google.android.gms:play-services-location:16.0.0'){
    force = true
}

Любая помощь будет оценена.

РЕДАКТИРОВАТЬ: Попытка бета-версии Mapbox версии 7.0.0, кажется, решает проблему, но я хотел бы избежать использования бета-версии в Prod, поэтому, если есть какой-либо способ, я могу сделать текущую версиюMapbox с google play services location будет отлично

1 Ответ

0 голосов
/ 31 декабря 2018

Добавить службы определения местоположения Android:

implementation 'com.google.android.gms:play-services-location:16.0.0'

В конце build.gradle (уровень приложения) после раздела закрытий зависимостей добавьте эту строку:

apply plugin: 'com.google.gms.google-services'

Например:

    dependencies {
       ...
       implementation 'com.google.android.gms:play-services-location:16.0.0'
    }
    apply plugin: 'com.google.gms.google-services'
...