Expo托管Android APK无法显示Google Map问题求助
Expo打包Android APK后Google Map显示灰色的排查与解决
1. 确认环境变量在EAS Build中正确注入
- 检查本地
.env文件是否包含GOOGLE_MAPS_API_KEY,且该文件未被.gitignore排除(若使用Git管理) - 直接在EAS项目控制台的「环境变量」页面添加
GOOGLE_MAPS_API_KEY,确保打包过程能读取到密钥 - 或在
eas.json的构建配置中显式声明环境变量:
{ "build": { "preview": { "android": { "buildType": "apk" }, "env": { "GOOGLE_MAPS_API_KEY": "你的Google Maps API密钥" } }, // 其他构建配置... } }
2. 检查Google Cloud控制台的API Key权限与限制
- 登录Google Cloud控制台,找到对应Maps API密钥
- 在「API限制」中确认已启用Maps SDK for Android服务
- 在「应用限制」的Android选项中,添加打包后APK的以下信息:
- 包名:
com.yourcompany.TestApp(与app.json中一致) - SHA-1指纹:可从EAS Build的构建详情页面获取,或通过本地密钥库命令生成:
keytool -list -v -keystore 你的密钥库文件路径 -alias 密钥别名
- 包名:
3. 补充Android必要权限配置
在app.json的android字段中添加地图运行所需权限:
"android": { "adaptiveIcon": { "foregroundImage": "./assets/adaptive-icon.png", "backgroundColor": "#ffffff" }, "package": "com.yourcompany.TestApp", "permissions": [ "ACCESS_FINE_LOCATION", "ACCESS_COARSE_LOCATION", "INTERNET" ], "config": { "googleMaps": { "apiKey": "@env:GOOGLE_MAPS_API_KEY" } } }
4. 清理缓存并重新构建
执行清理缓存的构建命令,避免旧配置干扰:
eas build --platform android --profile preview --clear-cache
内容的提问来源于stack exchange,提问作者Kamran Victor
相关产品推荐
相关产品推荐

