Expo+React Native生成AAB发布Play Store后地图白屏求助
解决方案
1. 补充Google Play应用签名的SHA-1指纹到API Key授权
Google Play应用签名会为发布的AAB生成独立的签名密钥,需将该SHA-1添加到Google Cloud控制台的API Key限制中:
- 登录Google Play Console,进入目标应用 → 左侧菜单「发布」→「设置」→「应用签名」
- 复制「应用签名证书」下的SHA-1指纹
- 打开Google Cloud控制台,找到对应Google Maps API Key,编辑限制条件,将该SHA-1与应用包名组合添加到授权列表
2. 验证AAB构建时API Key的注入正确性
Expo构建AAB时需确保API Key被正确打包:
- 检查
app.config.js或app.json,确认android.config.googleMaps.apiKey已正确配置,生产环境未使用占位符 - 若使用Expo Secrets存储API Key,运行
eas build --platform android时,可在构建日志中搜索googleMaps.apiKey,确认变量已正确加载
3. 确认Google Maps相关API服务已启用
- 登录Google Cloud控制台,进入「API和服务」→「库」
- 搜索并确认「Maps SDK for Android」已启用,若应用用到相关依赖服务(如Geocoding API、Places API),也需确认其状态为启用
4. 检查权限配置
确保app.json中已声明必要权限:
{ "android": { "permissions": [ "ACCESS_FINE_LOCATION", "ACCESS_COARSE_LOCATION", "INTERNET" ] } }
尽管APK运行正常,AAB发布后可能存在权限合并问题,需重新确认配置无误
5. 排查API Key的包名限制
确认Google Cloud中API Key的「应用限制」包名与发布的应用包名完全一致,注意区分调试与生产包名(若有差异)
6. 通过日志定位具体错误
将AAB上传到Google Play内部测试轨道,安装测试版应用后,用Logcat查看报错:
- 连接设备到电脑,运行
adb logcat | grep GoogleMaps,查看是否存在API Key无效、权限缺失或服务未启用的具体报错信息
内容的提问来源于stack exchange,提问作者Mohammad Madjide
相关产品推荐
相关产品推荐

