Android Studio无法找到com.mapbox.mapboxsdk:mapbox-android-sdk:9.7.0依赖
问题原因及解决方法
核心错误
你将Mapbox的私有Maven仓库仅配置在了项目级build.gradle的buildscript > repositories块中,该块仅用于加载Gradle构建插件的依赖,不会被用于解析项目业务代码的第三方依赖,这是拉取不到SDK的最主要原因。
排查&解决步骤
第一步:补充仓库配置
根据你使用的Android Studio版本选择对应配置方案:- 旧版Android Studio(Arctic Fox以下版本)
在项目级build.gradle中添加allprojects块,完整配置示例:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() mavenCentral() // 如果你没有用到Mapbox相关的Gradle插件,这里的Mapbox仓库配置可以删除 maven { url 'https://api.mapbox.com/downloads/v2/releases/maven' authentication { basic(BasicAuthentication) } credentials { username = 'mapbox' password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: "" } } } // 保留原有buildscript下的dependencies配置不变 } // 新增以下allprojects配置 allprojects { repositories { google() mavenCentral() maven { url 'https://api.mapbox.com/downloads/v2/releases/maven' authentication { basic(BasicAuthentication) } credentials { username = 'mapbox' password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: "" } } } }- 新版Android Studio(Arctic Fox及以上版本)
新版默认通过settings.gradle管理依赖仓库,修改根目录的settings.gradle,配置示例:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() // 新增Mapbox仓库配置 maven { url 'https://api.mapbox.com/downloads/v2/releases/maven' authentication { basic(BasicAuthentication) } credentials { username = 'mapbox' password = properties['MAPBOX_DOWNLOADS_TOKEN'] ?: "" } } } } // 保留settings.gradle原有其他配置不变- 旧版Android Studio(Arctic Fox以下版本)
第二步:检查下载令牌配置
确认项目根目录的gradle.properties文件中已经添加了正确的MAPBOX_DOWNLOADS_TOKEN配置,该令牌需要从你的Mapbox账号后台生成,且必须勾选DOWNLOADS:READ权限才能正常拉取SDK。第三步:优化依赖声明(可选)
你当前模块级build.gradle中Mapbox依赖的exclude规则是示例占位符,如果你没有明确要排除的依赖,可以直接删除这部分配置,简化为:implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.7.0'
所有配置修改完成后同步Gradle即可正常拉取依赖。
内容的提问来源于stack exchange,提问作者TheWanderer
相关产品推荐
相关产品推荐

