android - 使用 react-native-maps 组件打开屏幕时 Expo 独立应用程序崩溃
问题描述
我正在开发一个使用 react-native-maps 的 Expo 应用程序。当我在 Expo Client 中打开该应用程序时,它工作得非常好。但是每次我打开包含 react-native-maps 的屏幕时,独立应用程序的 android“APK”版本都会重新加载。
我为 react-native-maps 做了以下设置:
- 在我的 Google Cloud 中启用“Maps SDK for Android”。
- 创建了一个新的 API 凭据并将其限制为 android 应用程序,并包括我的应用程序指纹,就像https://docs.expo.io/versions/latest/sdk/map-view中的步骤一样。
- 复制 API 密钥并将其添加到
app.json
文件中。
"android": {
"icon": "./assets/images/app-icon.png",
"useNextNotificationsApi": true,
"adaptiveIcon": {
"foregroundImage": "./assets/images/app-adaptive-icon.png",
"backgroundColor": "#FFFFFF"
},
"googleServicesFile": "./google-services.json",
"package": "PACKAGE_NAME",
"config": {
"googleMaps": {
"apiKey": "API_KEY"
}
},
"versionCode": 1
},
我还尝试将应用程序限制更改为None
Google API 凭据设置,以防万一我的设置不正确并且我无法获得正确的正确应用程序指纹。但这也没有用。
另一个可能与问题有关的提示,我也在使用 Expo Notifications Services。如果我使用 Expo Client 运行应用程序,我可以毫无问题地向应用程序发送通知。但如果我构建一个独立的 APK,并使用 expo 通知工具发送通知,我会收到此错误:
InvalidCredentials:无法通过 FCM 服务器进行身份验证。确保您上传的 FCM 服务器密钥正确。
虽然我google-services.json
在我的应用程序根目录中添加了文件。并做了这个命令:
expo push:android:upload --api-key <your-token-here>
我正在使用Expo: ~39.0.2
托管工作流。
解决方案
推荐阅读
- sympy - 我想对一个用 sympy 编写的函数进行lambdify
- python - 使用多处理模块存在活动套接字连接时,Flask 服务器无法正常工作
- html - CSS - 如何在左侧边栏的右侧放置 div 并在窗口调整大小时调整它的大小
- mysql - 如何在 Baikal/SabreDAV 上实现加密?
- javascript - 为什么我的 Javascript 过滤器只显示第一行
- latex - 投影仪子列表中的多种类型的项目符号列表
- python - TypeError:“元组”和“浮点”的实例之间不支持“>”
- python - 使用 BrowserMob 时如何解决 (500, None) 错误?
- php - 修改内容后如何包含存储在变量中的 PHP 文件的内容?
- c++ - 更改tasks.json后VS代码删除文件