无法使用Crashlytics为ReactNative找到有意义的日志

时间:2018-05-23 04:56:58

标签: android react-native crashlytics google-fabric crashlytics-android

我在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)

2 个答案:

答案 0 :(得分:0)

我知道没有源地图,很难理解日志。 我在react-native默认错误处理程序中做了一些更改,并抛出了一些本机异常。这是我的文章。如果这有帮助,请告诉我。

Using Crashlytics with React Native Android App

答案 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/