我在reactNative应用程序中集成了Crashlytic,并尝试检查从js文件生成的崩溃日志。它能够捕获它们但不提供有关文件名的信息。日志从index.android.bundle文件中提供位置,这些文件很难提供有关崩溃位置的任何信息。 我已经尝试了
但是没有用。仍有日志如下所述
Fatal Exception: com.facebook.react.common.JavascriptException: ReferenceError: Can't find variable: Button2
This error is located at:
in t
in Connect(t)
in n
in s
in RCTView
in RCTView
in t, stack:
value@352:2655
u@49:81049
beginWork@49:83749
n@49:112665
i@49:112995
a@49:113436
P@49:118122
k@49:117558
T@49:116698
h@49:115914
d@49:115602
t@49:66915
updateContainer@49:133602
render@49:72179
exports@284:730
run@280:615
runApplication@280:2046
value@27:3582
<unknown>@27:1067
value@27:3009
value@27:1039
at com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(ExceptionsManagerModule.java:56)
at com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(ExceptionsManagerModule.java:40)
at java.lang.reflect.Method.invoke(Method.java)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:374)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:162)
at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
at android.os.Looper.loop(Looper.java:164)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194)
at java.lang.Thread.run(Thread.java:764)
答案 0 :(得分:0)
我知道没有源地图,很难理解日志。 我在react-native默认错误处理程序中做了一些更改,并抛出了一些本机异常。这是我的文章。如果这有帮助,请告诉我。
答案 1 :(得分:0)
我认为原因是您使用-dev false 生成了包。尝试使用-dev true 构建软件包。它将生成未缩小(例如正常)的Javascript。
react-native bundle --platform android --dev true --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/