react-native - 当 react-native-maps 和 react-native-geolocation-service 模块一起安装时应用程序崩溃
问题描述
漏洞
react-native-maps 不适用于同一项目中的 react-native-geolocation-service 模块。应用程序在加载时崩溃。从项目中删除 react-native-geolocation-service 模块后,该应用程序运行正常。
需要 react-native-geolocation-service 来获取用户位置,因为它比 javascript navigator 对象更准确。
https://bitbucket.org/mihailiviu/react-native-maps-geolocation/src/master/
环境信息
系统:
操作系统:Windows 10 10.0.18362 CPU:(8) x64 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 内存:7.14 GB / 15.95 GB 二进制文件:节点:12.15.0 - C:\Program Files\nodejs \node.EXE npm:6.13.4 - C:\Program Files\nodejs\npm.CMD SDK:Android SDK:API 级别:23、24、25、26、27、28 构建工具:23.0.1、23.0.2 , 23.0.3, 26.0.1, 26.0.3, 27.0.3, 28.0.3 系统映像:android-23 | Google API 英特尔 x86 Atom_64、android-27 | Google Play 英特尔 x86 Atom,android-28 | Google Play 英特尔 x86 Atom,android-29 | Google Play Intel x86 Atom IDE:Android Studio:版本 3.5.0.0 AI-191.8026.42.35.5791312 npmPackages:react:16.9.0 => 16.9.0 react-native:0.61.5 => 0.61.5
库版本
react-native-maps => 0.26.1 react-native-geolocation-service => ^4.0.0
重现步骤
下面提供的示例应用程序显示 2 个模块无法按预期协同工作:
下载下面的示例应用程序,安装依赖项,然后尝试运行它。 https://bitbucket.org/mihailiviu/react-native-maps-geolocation/src/master/
npm 安装 npm 运行安卓
描述你期望发生的事情:
应用程序将在加载时崩溃。可重现的示例代码 https://bitbucket.org/mihailiviu/react-native-maps-geolocation/src/master/
编辑:
这是我从 logkitty 中提取的:
$ react-native log-android
info Starting logkitty
[13:36:06] D | ReactNative ▶︎ ReactInstanceManager.ctor()
[13:36:07] D | ReactNative ▶︎ ReactInstanceManager.createReactContextInBackground()
└ ReactInstanceManager.recreateReactContextInBackgroundInner()
[13:36:12] D | ReactNative ▶︎ ReactInstanceManager.onJSBundleLoadedFromServer()
└ ReactInstanceManager.recreateReactContextInBackground()
[13:36:12] D | ReactNative ▶︎ ReactInstanceManager.runCreateReactContextOnNewThread()
[13:36:12] D | ReactNative ▶︎ ReactInstanceManager.createReactContext()
[13:36:12] D | ReactNative ▶︎ Initializing React Xplat Bridge.
[13:36:12] D | ReactNative ▶︎ Initializing React Xplat Bridge before initializeBridge
[13:36:12] D | ReactNative ▶︎ Initializing React Xplat Bridge after initializeBridge
[13:36:12] D | ReactNative ▶︎ CatalystInstanceImpl.runJSBundle()
[13:36:12] D | ReactNative ▶︎ ReactInstanceManager.setupReactContext()
└ CatalystInstanceImpl.initialize()
[13:36:12] D | ReactNative ▶︎ ReactInstanceManager.attachRootViewToInstance()
[13:36:13] D | ReactNative ▶︎ ReactInstanceManager.detachViewFromInstance()
[13:36:21] D | ReactNative ▶︎ ReactInstanceManager.ctor()
[13:36:21] D | ReactNative ▶︎ ReactInstanceManager.createReactContextInBackground()
└ ReactInstanceManager.recreateReactContextInBackgroundInner()
[13:36:26] D | ReactNative ▶︎ ReactInstanceManager.onJSBundleLoadedFromServer()
[13:36:26] D | ReactNative ▶︎ ReactInstanceManager.recreateReactContextInBackground()
└ ReactInstanceManager.runCreateReactContextOnNewThread()
[13:36:26] D | ReactNative ▶︎ ReactInstanceManager.createReactContext()
[13:36:26] D | ReactNative ▶︎ Initializing React Xplat Bridge.
[13:36:26] D | ReactNative ▶︎ Initializing React Xplat Bridge before initializeBridge
[13:36:26] D | ReactNative ▶︎ Initializing React Xplat Bridge after initializeBridge
[13:36:26] D | ReactNative ▶︎ CatalystInstanceImpl.runJSBundle()
[13:36:26] D | ReactNative ▶︎ ReactInstanceManager.setupReactContext()
[13:36:26] D | ReactNative ▶︎ CatalystInstanceImpl.initialize()
[13:36:26] D | ReactNative ▶︎ ReactInstanceManager.attachRootViewToInstance()
[13:36:27] D | ReactNative ▶︎ ReactInstanceManager.detachViewFromInstance()
解决方案
推荐阅读
- javascript - discord.js client.user.setPresence() 破坏机器人
- visual-studio - Visual Studio 2015 - vcxproj.filters 文件偶尔会变成无效的 XML
- angular - Angular 反应式表单 - 为自定义验证器获取 formControl
- python - Odoo 10:无法从菜单项调用我的 python 函数
- python - Python:将浮点数转换为日期时间时间戳
- python - 如何grep列并将其添加到字典键中作为值
- python - Python - 从索引 k 开始查找列表 A 中最小元素的索引
- jaxb - 如何使用camel jaxb设置编组xml的命名空间?
- php - 当 html 代码中有换行符时 preg_match 不起作用
- python - 无法将文件中的数据导入一行