Android集成MapBox MapSdk遇依赖解析失败问题求助
排查MapBox Maps SDK依赖解析失败(Failed to resolve: com.mapbox.maps:android:10.9.1)的原因
针对你遇到的依赖解析失败问题,结合你的配置信息,逐一排查以下可能原因:
1. MapBox下载Token的有效性与权限
- 确认
gradle.properties中配置的MAPBOX_DOWNLOADS_TOKEN是Secret Token(以sk.开头),而非Public Token(以pk.开头)——Public Token不具备依赖下载权限。 - 登录MapBox控制台,检查该Token是否启用了
DOWNLOADS:READ权限。未启用的话,必须在Token编辑页面勾选该权限后重新同步项目。
2. Gradle变量引用与仓库配置准确性
- 检查
gradle.properties中的MAPBOX_DOWNLOADS_TOKEN是否存在多余空格、拼写错误,确保变量名与settings.gradle中引用的MAPBOX_DOWNLOADS_TOKEN完全一致。 - 确认
settings.gradle中的MapBox Maven仓库配置无拼写错误:
注意maven { url 'https://api.mapbox.com/downloads/v2/releases/maven' authentication { basic(BasicAuthentication) } credentials { username = "mapbox" password = MAPBOX_DOWNLOADS_TOKEN } }username必须是固定值mapbox,不能替换为你的个人账号名。
3. 仓库优先级与模块级配置冲突
- 你设置了
RepositoriesMode.PREFER_SETTINGS,需确保模块级build.gradle中没有单独定义repositories块,避免覆盖settings中的仓库配置。 - 项目级
build.gradle的buildscript块仅配置了google()仓库,这对MapBox依赖解析无影响,无需额外调整。
4. 依赖引用的正确性
- 确认依赖坐标
com.mapbox.maps:android:10.9.1的有效性:10.9.1是MapBox的正式发布版本,可尝试更换为稍新的稳定版本(如10.10.0)测试,排除版本兼容性问题。 - 检查模块级依赖引入代码:你使用了
with(MapBox){ implementation(mapBox) },需确认MapBox对象的定义正确,内部的mapBox常量是否正确暴露。若不确定,可直接简化为:
测试是否能正常解析。implementation "com.mapbox.maps:android:10.9.1"
5. Gradle缓存与同步问题
- 执行Gradle缓存清理与强制同步:
- 在Android Studio中点击右上角的「Sync Project with Gradle Files」按钮
- 或在终端运行命令:
./gradlew clean build --refresh-dependencies
- 清除Android Studio缓存:依次点击「File」→「Invalidate Caches...」→选择「Invalidate and Restart」,重启后重新同步项目。
内容的提问来源于stack exchange,提问作者Saeed Noshadi
相关产品推荐
相关产品推荐

