You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同时使用Google Map SDK与导航SDK时出现Android重复类错误

解决Google Map与Navigation SDK的Duplicate Class冲突问题

问题原因

你遇到的重复类错误,是因为com.google.android.maps:navsdk(包括transportation-driver依赖间接引入的版本)内部已经包含了com.google.android.gms:play-services-maps的核心地图类(比如GoogleMap、CameraUpdate等),而你又单独引入了play-services-maps:17.0.0,导致两个不同版本的相同类同时存在,引发编译冲突。

解决方案

方案一:移除重复的play-services-maps依赖

直接删掉单独引入的implementation "com.google.android.gms:play-services-maps:17.0.0"即可。Navigation SDK本身已经集成了所需的地图组件,代码里的SupportMapFragment等类依然可以正常使用(类包名完全一致,无需修改代码)。

修改后的依赖如下:

implementation "com.google.android.gms:play-services-location:17.0.0"
implementation 'com.google.android.maps:navsdk:3.2.0'
implementation 'com.google.android.libraries.mapsplatform.transportation:transportation-driver:4.0.0'

方案二:排除Navigation SDK中的重复地图依赖(不推荐)

如果因为特殊需求必须保留play-services-maps,可以在navsdk和transportation-driver的依赖中排除play-services-maps模块,确保只使用你指定的17.0.0版本:

implementation "com.google.android.gms:play-services-maps:17.0.0"
implementation "com.google.android.gms:play-services-location:17.0.0"
implementation('com.google.android.maps:navsdk:3.2.0') {
    exclude group: 'com.google.android.gms', module: 'play-services-maps'
}
implementation('com.google.android.libraries.mapsplatform.transportation:transportation-driver:4.0.0') {
    exclude group: 'com.google.android.gms', module: 'play-services-maps'
}

注意:方案二需要确保play-services-maps:17.0.0与navsdk:3.2.0的版本兼容,否则可能出现运行时异常。

内容的提问来源于stack exchange,提问作者Biswanath Maity

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:23:10