首页 > 解决方案 > 尝试在空对象引用上调用虚拟方法“android.os.IBinder android.view.SurfaceControl.getHandle()”

问题描述

我将我的应用程序更新为 targetSdkVersion = 28 并发布到 Play 商店。然后我在 Frabic 收到了非常奇怪的崩溃报告。该问题仅出现在 Android Pie 上,并且在崩溃报告中我的代码没有任何痕迹,我找不到任何由 'android.os.IBinder android.view.SurfaceControl.getHandle()' 调用的空对象.

StackOverflow 上有一个类似的问题。我试图禁用proguard,但问题仍然存在。

这是下面列出的整个崩溃报告:

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.IBinder android.view.SurfaceControl.getHandle()' on a null object reference
       at android.os.Parcel.createException + 1956(Parcel.java:1956)
       at android.os.Parcel.readException + 1918(Parcel.java:1918)
       at android.os.Parcel.readException + 1868(Parcel.java:1868)
       at android.app.IActivityManager$Stub$Proxy.activityPaused + 3993(IActivityManager.java:3993)
       at android.app.servertransaction.PauseActivityItem.postExecute + 63(PauseActivityItem.java:63)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState + 146(TransactionExecutor.java:146)
       at android.app.servertransaction.TransactionExecutor.execute + 70(TransactionExecutor.java:70)
       at android.app.ActivityThread$H.handleMessage + 1809(ActivityThread.java:1809)
       at android.os.Handler.dispatchMessage + 106(Handler.java:106)
       at android.os.Looper.loop + 193(Looper.java:193)
       at android.app.ActivityThread.main + 6692(ActivityThread.java:6692)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 493(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main + 858(ZygoteInit.java:858)

==================================================== =====================

Caused by android.os.RemoteException: Remote stack trace:
    at com.android.server.wm.SurfaceAnimator.transferAnimation(SurfaceAnimator.java:231)
    at com.android.server.wm.WindowContainer.transferAnimation(WindowContainer.java:1136)
    at com.android.server.wm.AppWindowToken.transferStartingWindow(AppWindowToken.java:1246)
    at com.android.server.wm.AppWindowToken.transferStartingWindowFromHiddenAboveTokenIfNeeded(AppWindowToken.java:1185)
    at com.android.server.wm.AppWindowContainerController.setVisibility(AppWindowContainerController.java:393)

我该如何解决这个问题?

对不起我的英语不好,谢谢。

标签: android

解决方案


推荐阅读