Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android上调试react-native-com.facebook.react.devsupport.JSException:意外令牌'*';_React Native_React Native Android - Fatal编程技术网

在android上调试react-native-com.facebook.react.devsupport.JSException:意外令牌'*';

在android上调试react-native-com.facebook.react.devsupport.JSException:意外令牌'*';,react-native,react-native-android,React Native,React Native Android,所以,首先,在iOS上运行没有问题。我在 “反应”:“16.0.0-beta.5” “本机反应”:“^0.49.3” 尝试在物理设备或模拟器上响应本机运行的android时,我遇到以下错误 我还尝试过删除和重新安装节点模块,清除npm缓存,清理android构建。这些都不能解决这个问题 如果我转到错误中的url,就会出现一个JS页面。应用程序还会锁定设备或模拟器 其他资料: adb是我的路径,我可以运行adb设备 adb反向tcp:8081 tcp:8081没有帮助 10-19 12:28:20

所以,首先,在iOS上运行没有问题。我在

“反应”:“16.0.0-beta.5”

“本机反应”:“^0.49.3”

尝试在物理设备或模拟器上响应本机运行的android时,我遇到以下错误

我还尝试过删除和重新安装节点模块,清除npm缓存,清理android构建。这些都不能解决这个问题

如果我转到错误中的url,就会出现一个JS页面。应用程序还会锁定设备或模拟器

其他资料:

adb是我的路径,我可以运行adb设备

adb反向tcp:8081 tcp:8081没有帮助

10-19 12:28:20.839: E/unknown:ReactNative(12782): Exception in native call from JS
10-19 12:28:20.839: E/unknown:ReactNative(12782): com.facebook.react.devsupport.JSException: Unexpected token '*' (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:112538)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   at android.os.Handler.handleCallback(Handler.java:751)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   at android.os.Handler.dispatchMessage(Handler.java:95)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   at android.os.Looper.loop(Looper.java:154)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   at java.lang.Thread.run(Thread.java:761)
10-19 12:28:20.839: E/unknown:ReactNative(12782): Caused by: com.facebook.jni.CppException: Unexpected token '*' (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:112538)
10-19 12:28:20.839: E/unknown:ReactNative(12782):   ... 7 more
10-19 12:28:20.841: E/unknown:ReactNative(12782): Exception in native call
10-19 12:28:20.841: E/unknown:ReactNative(12782): java.lang.RuntimeException: Error calling AppRegistry.runApplication
10-19 12:28:20.841: E/unknown:ReactNative(12782):   at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
10-19 12:28:20.841: E/unknown:ReactNative(12782):   at android.os.Handler.handleCallback(Handler.java:751)
10-19 12:28:20.841: E/unknown:ReactNative(12782):   at android.os.Handler.dispatchMessage(Handler.java:95)
10-19 12:28:20.841: E/unknown:ReactNative(12782):   at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
10-19 12:28:20.841: E/unknown:ReactNative(12782):   at android.os.Looper.loop(Looper.java:154)
10-19 12:28:20.841: E/unknown:ReactNative(12782):   at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194)
10-19 12:28:20.841: E/unknown:ReactNative(12782):   at java.lang.Thread.run(Thread.java:761)
10-19 12:28:20.841: E/unknown:ReactNative(12782): Caused by: com.facebook.jni.CppException: Could not get BatchedBridge, make sure your bundle is packaged correctly
10-19 12:28:20.841: E/unknown:ReactNative(12782):   ... 7 more

因此,经过多次调试,我找到了这个问题的原因,我将在这里发布它,以防其他人遇到它

我的项目正在使用

求幂算子**

(我认为这是在ES6中引入的)

正如我在问题中所说,在iOS上运行时,这不会导致任何问题。我还没有深入研究,但似乎在Android端的react本机代码库中一定有一个bug。也许是在巴布尔?我不是100%肯定

但我知道的是

例如,从2**3改为Math.pow(2,3)可以解决这个问题 我

关于这一答复的最新情况:


我无法复制这个创建一个全新的RN项目。我遇到此问题的项目是从RN 42升级的,因此升级过程中一定有问题。

如果有人仍然遇到此错误,请尝试此方法

这个解决方案解决了我的问题,但我不确定是什么原因导致了我的错误。 我的版本是

“反应”:“16.0.0”

“反应本机”:“0.50.4”

总之,

npm install babel-preset-react-native-stage-0
然后将下面的这一行添加到
.babelrc

{
  "presets": ["react-native-stage-0"]
}
如果react native已经在那里,它就会在那里

{
  "presets": ["react-native", "react-native-stage-0"]
}

更新:babel Preet react native(v5.0.0)现在支持求幂运算符。预设的需要插件变换求幂运算符


支持求幂运算符只是时间问题,但现在,您可以手动添加到项目中

纱线添加巴别塔插件变换求幂运算符--dev

然后在您的
.babelrc
文件中,确保您的
插件
属性类似于以下内容:

{
  "plugins": ["transform-exponentiation-operator"]
}