我正在尝试将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
OR
implementation ('com.google.android.gms:play-services-location:16.0.0'){
force = true
}
任何帮助将不胜感激。
编辑:尝试使用Mapbox的7.0.0 beta2版本似乎可以解决该问题,但是我想避免在prod中使用beta版本,因此,如果有任何办法,我可以使用{{ 1}}很棒
答案 0 :(得分:0)
添加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'