React Native Expo安卓端@rnmapbox/maps库报错及依赖问题求助
解决@rnmapbox/maps集成Expo安卓的常见异常
一、搞定MapBox Maven资源403 Forbidden错误
- 用对MapBox下载令牌:在安卓项目的
gradle.properties里,必须添加MAPBOX_DOWNLOADS_TOKEN=你的私有下载令牌——这个令牌要去MapBox官网创建,一定要勾选Downloads:Read权限,不是普通的SDK令牌。 - 检查Gradle仓库配置:项目根目录的
settings.gradle(或settings.gradle.kts)里,MapBox的Maven仓库得这么配置:maven { url 'https://api.mapbox.com/downloads/v2/releases/maven' authentication { basic(BasicAuthentication) } credentials { username = 'mapbox' password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: '' } } - 清理Gradle缓存:执行
./gradlew clean和./gradlew build --refresh-dependencies,清除旧缓存避免依赖解析异常。
二、解决"@rnmapbox/maps native code not available"和"App entry not found"
- 配置Expo插件:@rnmapbox/maps v10.x需要依赖Expo插件,在
app.json或app.config.js里添加以下配置:{ "expo": { "plugins": [ [ "@rnmapbox/maps", { "RNMapboxMapsImpl": "mapbox", "mapboxAccessToken": "你的公开SDK令牌" } ] ] } } - 重新生成原生文件:执行
npx expo prebuild --clean,彻底清除旧原生文件后重新生成,避免配置残留冲突。 - 排查依赖冲突:执行
npm ls @rnmapbox/maps查看是否存在嵌套版本冲突,若有则删除node_modules和package-lock.json后重装依赖:rm -rf node_modules package-lock.json && npm install - 检查运行环境:安卓模拟器需使用API 24及以上版本,且开启Google Play服务;也可尝试换真机测试,排除模拟器自身问题。
内容的提问来源于stack exchange,提问作者jyoti
相关产品推荐
相关产品推荐

