我在Android的RN应用程序中遇到此错误:
06-06 16:37:54.455 7506-7569 / system_process E / AudioTrack:不能 得到会话729的音频输出,流类型-1,用法13,样本 速率48000,格式0x1,通道掩码0x3,标志0x4 06-06 16:37:54.455 7506-7569 / system_process E / SoundPool:创建AudioTrack 06-06时出错 16:37:54.924 1286-1286 /? E / EGL_emulation:tid 1286: eglCreateSyncKHR(1669):错误0x3004(EGL_BAD_ATTRIBUTE)06-06 16:37:55.190 11821-11894 / com.efiat_rn E / unknown:ReactNative:异常 在本地电话中 java.lang.ClassCastException:com.facebook.react.bridge.ReadableNativeMap无法强制转换为 java.lang.String中 at com.facebook.react.bridge.ReadableNativeMap.getString(ReadableNativeMap.java:168) 在com.facebook.react.modules.dialog.DialogModule.showAlert(DialogModule.java:232) at java.lang.reflect.Method.invoke(Native Method) 在com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372) 在com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:160) at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method) 在android.os.Handler.handleCallback(Handler.java:751) 在android.os.Handler.dispatchMessage(Handler.java:95) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29) 在android.os.Looper.loop(Looper.java:154) 在com.facebook.react.bridge.queue.MessageQueueThreadImpl $ 3.run(MessageQueueThreadImpl.java:192) at java.lang.Thread.run(Thread.java:761)06-06 16:37:55.191 11821-11894 / com.efiat_rn E / unknown:ReactNative:原生中的异常 呼叫 java.lang.ClassCastException:com.facebook.react.bridge.ReadableNativeMap无法强制转换为 java.lang.String中 at com.facebook.react.bridge.ReadableNativeMap.getString(ReadableNativeMap.java:168) 在com.facebook.react.modules.dialog.DialogModule.showAlert(DialogModule.java:232) at java.lang.reflect.Method.invoke(Native Method) 在com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372) 在com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:160) at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method) 在android.os.Handler.handleCallback(Handler.java:751) 在android.os.Handler.dispatchMessage(Handler.java:95) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29) 在android.os.Looper.loop(Looper.java:154) 在com.facebook.react.bridge.queue.MessageQueueThreadImpl $ 3.run(MessageQueueThreadImpl.java:192) 在java.lang.Thread.run(Thread.java:761)
它在iOS版本上运行得非常好。它没有告诉我哪些JS我做错了。我对如何修复它没有任何线索或想法。它在我启动应用程序时提示,当我关闭错误消息时,我可以看到半载应用程序,但不能点击。关于如何开始调试有什么想法吗?谢谢。
答案 0 :(得分:5)
在ReactNative中,您正在调用需要String参数的本机桥的方法。但你实际发送的是JsonObject。
实施例,
const data = {message: "hello"}; // Consider this as your data
如果你将它发送到网桥,它将创建一个NativeArray并将其发送到本机层(但你的图层方法需要String)。
现在您必须将对象转换为String并将其发送到本机层
const strData = JSON.stringify(data);
现在将strData发送到本机层
(如果您需要更多详细信息,或者您可以告诉错误,请在下方评论 更清楚地得到一些明确的答案)