Mapbox Annotation 0.9.0与Mapbox 9.6.0兼容运行报错求助
解决Mapbox 9.4.0+版本依赖找不到的问题
我来帮你搞定这个问题!你遇到的核心原因是:Mapbox从9.4.0版本开始,不再将Android SDK发布到公共Maven仓库(比如JCenter、Google Maven),必须配置他们的专用私有仓库才能拉取到这些版本的依赖。
解决步骤:
1. 获取Mapbox下载令牌
首先你需要去Mapbox官网创建一个账号(如果还没有的话),然后在你的账号设置里生成一个下载令牌(Downloads token)。这个令牌是用来访问他们私有Maven仓库的凭证。
2. 配置令牌到项目中
在项目根目录的gradle.properties文件里添加一行:
MAPBOX_DOWNLOADS_TOKEN=你的下载令牌内容
3. 添加Mapbox专用Maven仓库
根据你使用的Gradle版本,选择对应的配置方式:
如果你用的是Gradle 6.x及以下版本:
修改项目根目录的build.gradle文件,在allprojects的repositories块中添加Mapbox仓库:
allprojects { repositories { // 保留你已有的其他仓库(比如google()、mavenCentral()等) google() mavenCentral() // 添加Mapbox私有仓库 maven { url 'https://api.mapbox.com/downloads/v2/releases/maven' authentication { basic(BasicAuthentication) } credentials { username = "mapbox" password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: "" } } } }
如果你用的是Gradle 7.x及以上版本:
修改项目根目录的settings.gradle文件,在dependencyResolutionManagement的repositories块中添加Mapbox仓库:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { // 保留你已有的其他仓库 google() mavenCentral() // 添加Mapbox私有仓库 maven { url 'https://api.mapbox.com/downloads/v2/releases/maven' credentials { username = "mapbox" password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: "" } } } }
4. 同步项目并重新构建
做完以上配置后,点击Android Studio的"Sync Project with Gradle Files"按钮,等待同步完成后重新构建项目,这个找不到依赖的错误应该就会消失了。
额外注意点:
- 你的注解插件
com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0是对应Mapbox SDK v9版本的,和9.6.0的SDK是兼容的,不需要修改版本号。 - 确保你的下载令牌有足够的权限(至少要有
downloads:read权限),否则可能还是会拉取失败。
内容的提问来源于stack exchange,提问作者mortezahosseini
相关产品推荐
相关产品推荐

