Expo Go正常显示React Native Maps,开发构建APK却显示空白屏求助
解决Expo构建APK后React Native Maps空白屏问题
核心排查步骤
- 确认SHA-1与构建环境匹配
Expo Go的SHA-1和自定义构建(本地开发构建、EAS构建)的SHA-1完全不同:- 若用
eas build生成APK,需在Google Cloud控制台添加EAS构建对应的SHA-1,可通过eas credentials命令查看目标构建配置的SHA-1值; - 本地开发构建(如
expo run:android)的SHA-1来自本地Android Studio的签名证书,需单独提取并添加到API密钥的允许列表。
- 若用
- 检查API密钥的权限与限制
- 确保Google API密钥已启用Maps SDK for Android服务;
- 密钥限制需同时配置应用包名(如
com.your.app)和对应SHA-1,两者必须匹配才会生效。
- 验证构建配置中的API密钥
- 检查
app.json/app.config.js里的ios.googleMapsApiKey和android.googleMapsApiKey是否正确,确认构建过程中未被错误覆盖; - 对于EAS构建,排查
eas.json中的构建配置,确保API密钥通过环境变量或直接配置正确传入。
- 检查
- 通过设备日志定位具体错误
连接真机后执行命令:adb logcat | grep GoogleMaps,日志会直接提示API密钥无效、权限未开启或SHA-1不匹配等具体问题,这是最快定位根源的方法。
常见误区规避
- 不要混淆Expo Go的SHA-1和自定义构建的SHA-1,两者属于不同签名证书,不能通用;
- 密钥限制不能只加SHA-1,必须同时绑定应用包名,否则Google会拒绝API请求。
内容的提问来源于stack exchange,提问作者irfan
相关产品推荐
相关产品推荐

