在 Google Play 的独立版本上反应原生地图崩溃

Posted

技术标签:

【中文标题】在 Google Play 的独立版本上反应原生地图崩溃【英文标题】:react native maps crashes on Standalone version from Google Play 【发布时间】:2021-04-13 06:57:27 【问题描述】:

SDK 版本:40.0.0 平台(android/ios/web/all):Android 你好 我在我的项目中使用 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 传递给项目,但没有解决问题。

我试图从世博会中退出,然后我为我的项目进行了本机配置,然后它像以前一样工作正常

【问题讨论】:

【参考方案1】:

升级到 SDK 40 后我遇到了同样的问题, 就我而言,问题出在自定义 Marker 中。 同样在 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,
                      longitude: coords.longitude,
           
    
     >
     <Image source=require('../Images/mapPin.png') style=width:50, height:50 />
   </MapView.Marker>

【讨论】:

以上是关于在 Google Play 的独立版本上反应原生地图崩溃的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Google Play 上架报错 ( 此版本不符合 Google Play 关于提供 64 位版本应用的要求 )

(React Native) 如何将 App Signing Key 上传到 Google Play Console?

反应原生:上传 apk 后,Play 商店有权限问题(CAMERA,RECORD_AUDIO,...)

android:反应原生从另一个应用程序打开一个应用程序?

在独立的 Android 应用程序上使用 expo-auth-session 进行 Google 登录,浏览器关闭但没有任何反应

Maps SDK for Android v.3.0.0 BETA "是否可以在没有Google Play服务的设备上运行?