首页 > 解决方案 > React Native 在 Android 设备上崩溃,但在 iOS 上运行

问题描述

(快速背景故事)

我和我的朋友正在做一个 react native 项目。他开始在 iOS 上进行开发,并且成功构建了应用程序。现在,我通过成为 android 人加入了乐趣。

克隆、安装 npm 包并为我的设备设置 adb 后,该应用程序安装在我的手机上,当我点击它时,它会崩溃。react-native run-android以 BUILD SUCCESSFUL 结束。

因为我找不到任何日志,所以我弄乱了“工作”(就 iOS 而言)版本并引入了一个错误,以便我可以从设备启用远程调试。Chrome 为我打开了一个标签,“React Native Debugger”。这就是它所说的:

在此处输入图像描述

错误信息:SyntaxError: Unexpected token u in JSON at position 0

有任何想法吗?我的朋友也被难住了。

编辑 1:这是一个 aws-amplify 问题(https://github.com/aws-amplify/amplify-js/issues/1276),但没有说明修复方法是什么

标签: androidreact-nativeaws-amplify

解决方案


在控制台中试试这个:

JSON.parse(undefined)

这是您将得到的:

Uncaught SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at <anonymous>:1:6

换句话说,您的应用程序正在尝试解析未定义的,这是无效的 JSON。

这有两个常见的原因。首先是您可能引用了一个不存在的属性(如果不是在严格模式下,甚至是一个不存在的变量)。

Sourcd:未捕获的 SyntaxError:位置 0 处 JSON 中的意外标记 u

此外,这似乎是一个问题

federatedUser = JSON.parse(this._storage.getItem('aws-amplify-federatedInfo').user); 

推荐阅读