【发布时间】:2018-08-07 12:54:29
【问题描述】:
我已将更新添加到我的一个应用程序并开始收到崩溃。
我已将 mapping.txt 添加到 Play 管理中心以获取去混淆的堆栈跟踪,但它没有产生任何影响。我仍然收到经过混淆处理的相同崩溃,并且 Play 管理中心向我显示一条消息,例如 Deobfuscation 文件,是在崩溃发生后上传的。
但自从我添加了 mapping.txt 后,发生了多次崩溃。此外,我自己修复了一些并发布了一个新的应用版本,在发布后立即添加了mapping.txt,但控制台仍然显示模糊的痕迹。
有人遇到过同样的问题吗?这种奇怪行为的原因是什么,我该如何解决。提前致谢!
这是堆栈跟踪的示例:
java.lang.NullPointerException:
at notchremover.smallapps.com.notchremover.ui.ui.activities.MainActivity.d (MainActivity.java:2)
at notchremover.smallapps.com.notchremover.ui.ui.activities.MainActivityPresenter.b (MainActivityPresenter.java:16)
at notchremover.smallapps.com.notchremover.ui.ui.activities.MainActivity.a (MainActivity.java:6)
at notchremover.smallapps.com.notchremover.ui.ui.activities.MainActivity$$Lambda$4.a (MainActivity.java:4)
at notchremover.smallapps.com.notchremover.ui.ui.widgets.heightscrollbar.SeekBarWidgetKt$1.onProgressChanged (SeekBarWidgetKt.java:59)
at android.widget.SeekBar.onProgressRefresh (SeekBar.java:95)
at android.widget.ProgressBar.doRefreshProgress (ProgressBar.java:1298)
at android.widget.ProgressBar.refreshProgress (ProgressBar.java:1353)
at android.widget.ProgressBar.setProgressInternal (ProgressBar.java:1418)
at android.widget.AbsSeekBar.trackTouchEvent (AbsSeekBar.java:869)
at android.widget.AbsSeekBar.startDrag (AbsSeekBar.java:826)
at android.widget.AbsSeekBar.onTouchEvent (AbsSeekBar.java:783)
at android.view.View.dispatchTouchEvent (View.java:11789)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2970)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2657)
at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:451)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1829)
at android.app.Activity.dispatchTouchEvent (Activity.java:3371)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:2)
at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:413)
at android.view.View.dispatchPointerEvent (View.java:12030)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:4866)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:4677)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4208)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4261)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4227)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4354)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4235)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4411)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4208)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4261)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4227)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4235)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4208)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:6775)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:6747)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:6708)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:6883)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:240)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents (InputEventReceiver.java)
at android.view.InputEventReceiver.consumeBatchedInputEvents (InputEventReceiver.java:208)
at android.view.ViewRootImpl.doConsumeBatchedInput (ViewRootImpl.java:6851)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run (ViewRootImpl.java:6906)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1026)
at android.view.Choreographer.doCallbacks (Choreographer.java:838)
at android.view.Choreographer.doFrame (Choreographer.java:763)
at android.view.Choreographer$FrameHandler.handleMessage (Choreographer.java:941)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:171)
at android.app.ActivityThread.main (ActivityThread.java:6633)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:823)
【问题讨论】:
-
该堆栈跟踪看起来没有混淆。是什么让你认为它是?它包含所有方法名称和行号。
-
感谢您的回复。它是。查看顶部 MainActivity.d 和 MainActivityPresenter.b 等 实际上,我找到了一个解决方案,如何在 util proguardgui 的帮助下对其进行反混淆。我会将其作为答案发布,但对于这种奇怪的 Play 管理中心行为仍有疑问。
标签: android android-proguard deobfuscation google-play-console