我正在使用ACRA从Android应用程序发送崩溃报告,一切正常。除了堆栈跟踪很大。例如,报表可以包含大约 30000 个字符,如下所示:
{
"REPORT_ID": "bb7cef15-ffc0-4e58-ada2-0472a5c02939",
"APP_VERSION_CODE": 1,
"APP_VERSION_NAME": 1.8,
"PHONE_MODEL": "Nexus 5",
"ANDROID_VERSION": "6.0.1",
"STACK_TRACE": "io.reactivex.exceptions.CompositeException: 2 exceptions occurred. ntat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.checkTerminated(ObservableObserveOn.java:276)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:172)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)ntat io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)ntat android.os.Handler.handleCallback(Handler.java:739)ntat android.os.Handler.dispatchMessage(Handler.java:95)ntat android.os.Looper.loop(Looper.java:148)ntat android.app.ActivityThread.main(ActivityThread.java:5417)ntat java.lang.reflect.Method.invoke(Native Method)ntat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)ntat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)n ComposedException 1 :ntandroid.nfc.TagLostException: Tag was lost.nttat android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:48)nttat android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)nttat android.nfc.tech.IsoDep.transceive(IsoDep.java:172)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommand(BalancePresenter.java:119)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommandToCard(BalancePresenter.java:101)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.getNextUrlObservable(BalancePresenter.java:77)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.lambda$getFares$3$BalancePresenter(BalancePresenter.java:49)nttat com.icard.ui.card.content.balance.impl.BalancePresenter$$Lambda$3.apply(Unknown Source)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:121)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)nttat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)nttat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)nttat io.reactivex.internal.observers.DisposableLambdaObserver.onNext(DisposableLambdaObserver.java:58)nttat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)nttat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)nttat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)nttat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)nttat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)nttat java.util.concurrent.FutureTask.run(FutureTask.java:237)nttat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)nttat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)nttat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)nttat java.lang.Thread.run(Thread.java:818)ntCaused by: java.lang.RuntimeException: Duplicate found in causal chain so cropping to prevent loop ...nttat android.util.Log.getStackTraceString(Log.java:338)nttat android.util.Log.e(Log.java:243)nttat org.acra.log.AndroidLogDelegate.e(AndroidLogDelegate.java:56)nttat org.acra.ErrorReporter.uncaughtException(ErrorReporter.java:254)nttat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)nttat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)nttat io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:411)nttat io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:365)nttat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.checkTerminated(ObservableObserveOn.java:276)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:172)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)nttat io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)nttat android.os.Handler.handleCallback(Handler.java:739)nttat android.os.Handler.dispatchMessage(Handler.java:95)nttat android.os.Looper.loop(Looper.java:148)nttat android.app.ActivityThread.main(ActivityThread.java:5417)nttat java.lang.reflect.Method.invoke(Native Method)nttat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)nttat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)n ComposedException 2 :ntjava.lang.Exception: android.nfc.TagLostException: Tag was lost.nttat com.icard.ui.card.content.balance.impl.BalancePresenter.lambda$getFares$14$BalancePresenter(BalancePresenter.java:69)nttat com.icard.ui.card.content.balance.impl.BalancePresenter$$Lambda$14.accept(Unknown Source)nttat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:74)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.checkTerminated(ObservableObserveOn.java:276)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:172)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)nttat io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)nttat android.os.Handler.handleCallback(Handler.java:739)nttat android.os.Handler.dispatchMessage(Handler.java:95)nttat android.os.Looper.loop(Looper.java:148)nttat android.app.ActivityThread.main(ActivityThread.java:5417)nttat java.lang.reflect.Method.invoke(Native Method)nttat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)nttat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)ntCaused by: android.nfc.TagLostException: Tag was lost.nttat android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:48)nttat android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)nttat android.nfc.tech.IsoDep.transceive(IsoDep.java:172)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommand(BalancePresenter.java:119)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommandToCard(BalancePresenter.java:101)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.getNextUrlObservable(BalancePresenter.java:77)nttat com.icard.ui.card.content.balance.impl.BalancePresenter.lambda$getFares$3$BalancePresenter(BalancePresenter.java:49)nttat com.icard.ui.card.content.balance.impl.BalancePresenter$$Lambda$3.apply(Unknown Source)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:121)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)nttat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)nttat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)nttat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)nttat io.reactivex.internal.observers.DisposableLambdaObserver.onNext(DisposableLambdaObserver.java:58)nttat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)nttat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)nttat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)nttat io.reactivex.Observable.subscribe(Observable.java:10842)nttat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)nttat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)nttat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)nttat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)nttat java.util.concurrent.FutureTask.run(FutureTask.java:237)nttat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)nttat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)nttat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)nttat java.lang.Thread.run(Thread.java:818)ntCaused by: java.lang.RuntimeException: Duplicate found in causal chain so cropping to prevent loop ...nttat android.util.Log.getStackTraceString(Log.java:338)nttat android.util.Log.e(Log.java:243)nttat org.acra.log.AndroidLogDelegate.e(AndroidLogDelegate.java:56)nttat org.acra.ErrorReporter.uncaughtException(ErrorReporter.java:254)nttat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)nttat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)nttat io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:411)nttat io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:365)nttat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.checkTerminated(ObservableObserveOn.java:276)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:172)nttat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)nttat io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)nttat android.os.Handler.handleCallback(Handler.java:739)nttat android.os.Handler.dispatchMessage(Handler.java:95)nttat android.os.Looper.loop(Looper.java:148)nttat android.app.ActivityThread.main(ActivityThread.java:5417)nttat java.lang.reflect.Method.invoke(Native Method)nttat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)nttat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)nnio.reactivex.exceptions.CompositeException$CompositeExceptionCausalChain: Chain of Causes for CompositeException In Order Received =>ntat android.util.Log.getStackTraceString(Log.java:338)ntat android.util.Log.e(Log.java:243)ntat org.acra.log.AndroidLogDelegate.e(AndroidLogDelegate.java:56)ntat org.acra.ErrorReporter.uncaughtException(ErrorReporter.java:254)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)ntat io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:411)ntat io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:365)ntat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.checkTerminated(ObservableObserveOn.java:276)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:172)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)ntat io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)ntat android.os.Handler.handleCallback(Handler.java:739)ntat android.os.Handler.dispatchMessage(Handler.java:95)ntat android.os.Looper.loop(Looper.java:148)ntat android.app.ActivityThread.main(ActivityThread.java:5417)ntat java.lang.reflect.Method.invoke(Native Method)ntat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)ntat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)nCaused by: android.nfc.TagLostException: Tag was lost.ntat android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:48)ntat android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)ntat android.nfc.tech.IsoDep.transceive(IsoDep.java:172)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommand(BalancePresenter.java:119)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommandToCard(BalancePresenter.java:101)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.getNextUrlObservable(BalancePresenter.java:77)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.lambda$getFares$3$BalancePresenter(BalancePresenter.java:49)ntat com.icard.ui.card.content.balance.impl.BalancePresenter$$Lambda$3.apply(Unknown Source)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:121)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)ntat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)ntat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)ntat io.reactivex.internal.observers.DisposableLambdaObserver.onNext(DisposableLambdaObserver.java:58)ntat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)ntat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)ntat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)ntat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)ntat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)ntat java.util.concurrent.FutureTask.run(FutureTask.java:237)ntat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)ntat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)ntat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)ntat java.lang.Thread.run(Thread.java:818)nCaused by: java.lang.RuntimeException: Duplicate found in causal chain so cropping to prevent loop ...ntat android.util.Log.getStackTraceString(Log.java:338)ntat android.util.Log.e(Log.java:243)ntat org.acra.log.AndroidLogDelegate.e(AndroidLogDelegate.java:56)ntat org.acra.ErrorReporter.uncaughtException(ErrorReporter.java:254)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)ntat io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:411)ntat io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:365)ntat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.checkTerminated(ObservableObserveOn.java:276)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:172)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)ntat io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)ntat android.os.Handler.handleCallback(Handler.java:739)ntat android.os.Handler.dispatchMessage(Handler.java:95)ntat android.os.Looper.loop(Looper.java:148)ntat android.app.ActivityThread.main(ActivityThread.java:5417)ntat java.lang.reflect.Method.invoke(Native Method)ntat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)ntat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)nandroid.nfc.TagLostException: Tag was lost.ntat android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:48)ntat android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)ntat android.nfc.tech.IsoDep.transceive(IsoDep.java:172)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommand(BalancePresenter.java:119)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.transferCommandToCard(BalancePresenter.java:101)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.getNextUrlObservable(BalancePresenter.java:77)ntat com.icard.ui.card.content.balance.impl.BalancePresenter.lambda$getFares$3$BalancePresenter(BalancePresenter.java:49)ntat com.icard.ui.card.content.balance.impl.BalancePresenter$$Lambda$3.apply(Unknown Source)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:121)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)ntat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)ntat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)ntat io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)ntat io.reactivex.internal.observers.DisposableLambdaObserver.onNext(DisposableLambdaObserver.java:58)ntat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)ntat retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)ntat retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)ntat io.reactivex.Observable.subscribe(Observable.java:10842)ntat io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)ntat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)ntat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)ntat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)ntat java.util.concurrent.FutureTask.run(FutureTask.java:237)ntat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)ntat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)ntat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)ntat java.lang.Thread.run(Thread.java:818)nCaused by: java.lang.RuntimeException: Duplicate found in causal chain so cropping to prevent loop ...ntat android.util.Log.getStackTraceString(Log.java:338)ntat android.util.Log.e(Log.java:243)ntat org.acra.log.AndroidLogDelegate.e(AndroidLogDelegate.java:56)ntat org.acra.ErrorReporter.uncaughtException(ErrorReporter.java:254)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)ntat io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:411)ntat io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:365)ntat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.checkTerminated(ObservableObserveOn.java:276)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:172)ntat io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)ntat io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)ntat android.os.Handler.handleCallback(Handler.java:739)ntat android.os.Handler.dispatchMessage(Handler.java:95)ntat android.os.Looper.loop(Looper.java:148)ntat android.app.ActivityThread.main(ActivityThread.java:5417)ntat java.lang.reflect.Method.invoke(Native Method)ntat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)ntat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)njava.lang.RuntimeException: Duplicate found in causal chain so cropping to prevent loop ...ntat android.util.Log.getStackTraceString(Log.java:338)ntat android.util.Log.e(Log.java:243)ntat org.acra.log.AndroidLogDelegate.e(AndroidLogDelegate.java:56)ntat org.acra.ErrorReporter.uncaughtException(ErrorReporter.java:254)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)ntat java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)ntat io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:411)ntat io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:365)ntat io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)ntat ...",
"USER_APP_START_DATE": "2017-10-24T18:17:42.006+03:00",
"USER_CRASH_DATE": "2017-10-24T18:17:44.713+03:00",
"IS_SILENT": false
}
我可以以某种方式减少"STACK_TRACE"字段中的消息吗?例如,我可以只发送堆栈跟踪中的几行起跑线吗?
创建自定义ReportSender
(扩展默认之一),并在发送报告之前对其进行修改。
您可以使用@ReportsCrashes.reportSenderFactoryClasses
注册自定义ReportSender