首页 > 解决方案 > apk 文件调试 - React Native

问题描述

我有一个 React Native 应用程序。它在 iOS 和 android 中运行良好。
因此,我为两者构建了捆绑包。ios 工作正常。
现在我的团队已经创建了 apk 文件,当他们运行它时,他们收到以下错误:

在此处输入图像描述

我不知道我的代码的哪一部分导致了这个问题。如何调试此 apk 并找出错误来源?

我已经观看了一些关于此的视频,所以我知道首先我需要解码 apk 文件。我成功地做到了。我有我的 AndroidManifest.xml(更改为“debuggable:true”),得到了我的 Smali 文件、java 文件等。

然后我在 Android Studio 中打开了所有这些。我在我的 java 文件中放置了几个断点。好吧,它并没有在任何这些断点处停止

Android工作室错误:

E/unknown:ReactNative:本地调用 java.lang.ClassCastException 中的异常:java.lang.Double 无法在 com.facebook.react.bridge.ReadableNativeArray.getString(未知来源:21)在 com 上转换为 java.lang.String .facebook.react.bridge.JavaMethodWrapper$5.extractArgument(Unknown Source:0) at com.facebook.react.bridge.JavaMethodWrapper$5.extractArgument(Unknown Source:0) at com.facebook.react.bridge.JavaMethodWrapper.invoke(Unknown Source:162) at com.facebook.react.bridge.JavaModuleWrapper.invoke(Unknown Source:23) at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method) at android.os.Handler.handleCallback(Handler .java:873) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(Unknown Source:0) 在 android.os.Looper.loop(Looper .java:193)在 com.facebook.react。bridge.queue.MessageQueueThreadImpl$4.run(Unknown Source:37) at java.lang.Thread.run(Thread.java:764)

这太令人困惑了!!我如何回溯这个错误?我可以理解我的反应原生 javascript 错误,但这太令人困惑了。需要一些指导请帮助!!!

标签: javaandroidreact-native

解决方案


您有一个 Double 类型的变量,并且您将其用作字符串。

您能找到任何可疑代码并将其转换为字符串吗?String(your_possible_double_var)


推荐阅读