如何解决React Native 地图在 Google Play 的独立版本上崩溃
SDK 版本:40.0.0
平台(安卓/iOS/网络/所有):安卓
你好
我在我的项目中使用 react-native-maps。我的项目是使用 Expo SDK 37 开发的,并且运行良好。我最近尝试运行“expo-upgrade”命令升级到Expo SDK 40。我修复了在开发模式下发现的一些错误,然后我执行了命令:“expo build:android”,选择生成Bundle而不是APK ,然后我得到了我的捆绑文件。我以内部测试发布模式将该捆绑文件上传到 Google Play 控制台。当我从 Google Play 下载内部测试版本并转到地图页面时,应用程序崩溃并立即重新加载,我能够看到地图屏幕。
显示问题的视频:https://youtu.be/MqfYoOZcmio
Ps:在升级到 Expo SDK 40 之前,它在 Expo SDK 37 上运行良好
我的 app.json:
…
"android": {
"package": "package.name","versionCode": 123,"config":{
"googleMaps":{
"apiKey":"MY_KEY"
}
}
},"packagerOpts": {
"config": "metro.config.js","sourceExts": ["js","jsx","svg"]
}
我什至尝试在 Google API Manager 和一个新密钥上创建一个新项目,传递项目的包名称并激活 Google Maps SDK for android,但它不起作用。我将 Google 的登录 SHA-1 密钥从 Google Play 传递给项目,但没有解决问题。
我尝试从 expo 中弹出,然后我为我的项目进行了本机配置,然后它和以前一样工作正常
解决方法
升级到 SDK 40 后我遇到了同样的问题, 就我而言,问题出在自定义标记中。 同样在 SDK 40 上的另一个项目中,我没有这个问题,但是我从 uri 加载自定义标记,就像这样 icon={{uri: some_url}}>
错误
<MapView.Marker
title="Your Title"
description="Your Description"
icon={require('../Images/mapPin.png')} <== PROBLEM
draggable
coordinate={{
latitude: coords.latitude,longitude: coords.longitude,}}
/>
正确
<MapView.Marker
title="Your Title"
description="Your Description"
draggable
coordinate={{
latitude: coords.latitude,}}
>
<Image source={require('../Images/mapPin.png')} style={{width:50,height:50}} />
</MapView.Marker>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。