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

如何修复AndroidX中Mapbox 9.5.0的未解析导入问题(Java)

解决Mapbox SDK 9.5.0中Geocoding及相关依赖未解析的问题

你的问题核心很明确:只引入了Mapbox基础地图SDK,但地理编码(Geocoding)、核心服务类以及网络/日志工具的依赖都没添加,导致这些包下的类无法被解析。下面是具体的排查和解决步骤:

1. 补充缺失的核心依赖到应用级build.gradle

Mapbox的地理编码功能是独立于基础地图SDK的模块,同时你用到的ServicesException、Retrofit网络组件、Timber日志工具都需要单独引入依赖。把下面的代码添加到你的应用级build.gradle的dependencies块中:

implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0'
// 地理编码模块依赖,对应你导入的Geocoding相关类
implementation 'com.mapbox.mapboxsdk:mapbox-android-geocoding:9.5.0'
// Mapbox核心服务模块,解决ServicesException的导入问题
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-core:9.5.0'
// Retrofit网络库,Mapbox API调用依赖它
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
// Timber日志工具,对应你导入的Timber类
implementation 'com.jakewharton.timber:timber:4.7.1'

2. 验证项目级Gradle配置的正确性

你已经添加了Mapbox的私有Maven仓库,这里再确认几个关键点:

  • 确保MAPBOX_DOWNLOADS_TOKEN是有效的(可在Mapbox控制台生成),如果直接写死令牌内容,要保证是正确的下载权限令牌
  • 仓库配置要放在allprojects的repositories块中,而非buildscript下

3. 同步Gradle并清理缓存

添加完依赖后,点击Android Studio右上角的"Sync Project with Gradle Files"按钮同步项目。如果同步后仍有问题,尝试清理缓存:

  • 点击菜单栏File -> Invalidate Caches...,选择"Invalidate and Restart",让Android Studio重新加载依赖。

问题根源说明

Mapbox把不同功能拆分成了多个独立模块:

  • 基础地图SDK仅包含地图展示、定位等核心地图功能
  • 地理编码、导航等进阶功能需要单独引入对应模块的依赖
  • Retrofit和Timber是第三方工具库,Mapbox官方示例会用到,但不会自动包含在基础SDK中

内容的提问来源于stack exchange,提问作者Mark van Heerden

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 15:12:40