.NET MAUI集成Mapbox遇mapbox-android-accounts Maven依赖缺失问题
解决.NET MAUI中Mapbox依赖404问题
问题根源
com.mapbox.mapboxsdk:mapbox-android-accounts:0.7.0在公开Maven仓库无法获取,要么是该版本已被Mapbox下架,要么是项目未配置Mapbox专属Maven仓库(部分Mapbox依赖仅能从其私有仓库获取)。另外你使用的9.2.0-alpha.1这类测试版SDK,本身就存在依赖链版本不匹配的风险。
解决步骤
1. 移除无效手动依赖
先删除项目文件中手动添加的mapbox-android-accounts:0.7.0条目,避免强行下载不存在的版本:
<!-- 删除该行 --> <AndroidMavenLibrary Include="com.mapbox.mapboxsdk:mapbox-android-accounts" Version="0.7.0" />
2. 配置Mapbox专属Maven仓库
Mapbox部分依赖需要从其私有仓库获取,且需用你的Mapbox Access Token作为密码验证。在项目文件中添加如下配置:
<ItemGroup> <AndroidMavenRepository Include="Mapbox"> <Url>https://api.mapbox.com/downloads/v2/releases/maven</Url> <Username>mapbox</Username> <Password>你的Mapbox Access Token</Password> </AndroidMavenRepository> </ItemGroup>
提示:将
你的Mapbox Access Token替换为你在Mapbox官网申请的有效令牌。
3. 替换为稳定版Mapbox依赖
测试版SDK容易引发兼容性问题,建议换成稳定版依赖,自动处理正确的mapbox-android-accounts版本:
<ItemGroup> <AndroidMavenLibrary Include="com.mapbox.mapboxsdk:mapbox-android-sdk" Version="9.7.2" /> <AndroidMavenLibrary Include="com.mapbox.mapboxsdk:mapbox-android-telemetry" Version="7.1.0" /> <AndroidMavenLibrary Include="com.mapbox.mapboxsdk:mapbox-sdk-geojson" Version="5.11.0" /> <AndroidMavenLibrary Include="com.mapbox.mapboxsdk:mapbox-android-gestures" Version="0.7.0" /> <AndroidMavenLibrary Include="com.mapbox.mapboxsdk:mapbox-sdk-turf" Version="5.11.0" /> <AndroidMavenLibrary Include="com.mapbox.mapboxsdk:mapbox-android-core" Version="4.0.0" /> <AndroidMavenLibrary Include="com.facebook.soloader:soloader" Version="0.10.4" /> <AndroidMavenLibrary Include="com.facebook.soloader:nativeloader" Version="0.10.4" /> <AndroidMavenLibrary Include="com.facebook.soloader:annotation" Version="0.10.4" /> </ItemGroup>
4. 清理缓存并重新构建
- 清理NuGet缓存:打开终端运行
dotnet nuget locals all --clear
- 清理Android Maven缓存:
- Windows:删除
C:\Users\你的用户名\.m2\repository\com\mapbox目录 - Mac/Linux:删除
~/.m2/repository/com/mapbox目录
- Windows:删除
- 最后重新构建你的.NET MAUI项目。
内容的提问来源于stack exchange,提问作者Marius van Belkum
相关产品推荐
相关产品推荐

