我有一个使用 expo manaed React Native 应用程序构建的学习项目。它的主屏幕上有谷歌地图显示。 我的 Android 应用程序在 expo go 上运行时运行良好,但在 APK 中不显示 Google 地图。它只显示灰色背景和左下角的 Google 图标。
我的应用程序后端作为 Firebase 项目进行管理。地图服务是Google地图服务。
eas.json 代码在这里:
{
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"preview4": {
"distribution": "internal"
},
"production": {}
},
"submit": {
"production": {}
}
}
我的app.json代码:
{
"expo": {
"name": "TestApp",
"slug": "TestApp",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"assetBundlePatterns": ["**/*"],
"ios": {
"supportsTablet": true
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "com.yourcompany.TestApp",
"config": {
"googleMaps": {
"apiKey": "@env:GOOGLE_MAPS_API_KEY"
}
}
},
"web": {
"favicon": "./assets/favicon.png"
},
"extra": {
"eas": {
"projectId": "122334456677788"
}
}
}
}
我尝试按照较旧的 Stack Overflow 文章解决此问题,但应用程序无法正常工作。
expo 文档说你必须从 Google Play Console 获取 SHA1 密钥,而对我来说,我必须使用的正确 SHA1 密钥在这里:
在控制台中写入
eas credentials
,然后选择Android
,然后选择Development
,终端将显示一堆信息,您将在其中找到带有 SHA1 密钥的部分,如下所示:
Configuration: Build Credentials KMG... (Default)
Keystore
Type JKS
Key Alias 943d0e94b...
MD5 Fingerprint k3:40:CF:...
SHA1 Fingerprint R8:BF:CC:... <--- Use this value brother
SHA256 Fingerprint 1B:24:2D:...
Updated x years ago