草庐IT

android - React Native 应用程序不是为 Android 构建的 - SyntaxError :\u can only be followed by a Unicode character sequence

coder 2023-12-16 原文

我的应用程序在 iOS 上运行良好,但无法在 Android 上运行。上周我花了很长时间让它正常工作,我以为是 ,但问题又回来了。

日志显示

如果有其他相关内容,请在此处查看完整日志。 https://pastebin.com/by6uCmPW

SyntaxError: \u can only be followed by a Unicode character sequence 

当我重新加载时,我得到一个白屏,没有显示任何错误,而且我无法克服这个问题,无论我是否连接到调试器,它都不会改变。

我查看了源代码,错误来自以下行

这是来自 React Native 源代码 https://github.com/facebook/react-native/blob/a974c140db605ecbdf8d3faa7a079b7e2dcebb09/Libraries/ReactNative/YellowBox.js#L263

刷新后,我在 logcat 中得到以下错误,但在模拟器中没有任何错误。

06-14 13:52:10.467: E/art(2691): No implementation found for com.facebook.react.bridge.Inspector com.facebook.react.bridge.Inspector.instance() (tried Java_com_facebook_react_bridge_Inspector_instance and Java_com_facebook_react_bridge_Inspector_instance__)

最佳答案

好的,我遇到了同样的问题,这是我想出的解决方案,为了让它工作,我添加了 console.disableYellowBox = true;index.html android.js 在所有导入行之后。


根据 React Native 文档

在开发过程中可以使用 console.disableYellowBox = true; 禁用 YellowBoxes。可以通过设置应忽略的前缀数组以编程方式忽略特定警告:console.ignoredYellowBox = ['Warning: ...'];

RedBoxes and YellowBoxes are automatically disabled in release (production) builds.


这不是一个理想的解决方法,可能仍需要一些修补,但通过这样做我能够编译该应用程序。

然后为了更深入一些,我从 index.android.js 中删除了最近添加的内容(console.disableYellowBox = true;)和 替换 {stacktraceVisible ? '\u{25BC}' : '\u{25B6}'} 来自 \src\node_modules\react-native\Libraries\ReactNative\YellowBox.js 的 Stacktrace 接下来的事情之一:

  • {stacktraceVisible ? '\u25BC' : '\u25B6'} 堆栈跟踪
  • {stacktraceVisible ? '-' : '-'} 堆栈跟踪

它似乎解决了这个问题,但不确定这种方式有多优雅,以及如何在 yarnnpm i 之后每次更新。

关于android - React Native 应用程序不是为 Android 构建的 - SyntaxError :\u can only be followed by a Unicode character sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44542041/

有关android - React Native 应用程序不是为 Android 构建的 - SyntaxError :\u can only be followed by a Unicode character sequence的更多相关文章

随机推荐