android中的Binder运行时异常

Posted

技术标签:

【中文标题】android中的Binder运行时异常【英文标题】:Binder runtime exception in android 【发布时间】:2016-10-07 09:19:23 【问题描述】:

我在 Play 商店中开发了 android 应用程序。我从很多用户那里收到活页夹错误,我不知道如何解决。有人可以帮助我吗?这是我的日志。我正在使用 google play 服务,也使用pro-guard

    Fatal Exception: java.lang.RuntimeException: android.os.DeadObjectException
       at android.content.pm.PackageInstaller.getAllSessions(PackageInstaller.java:406)
       at com.google.android.gms.common.zze.zzl(Unknown Source)
       at com.google.android.gms.common.zzc.isGooglePlayServicesAvailable(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source)
       at com.google.android.gms.internal.zzpy.zzapv(Unknown Source)
       at com.google.android.gms.internal.zzpy.zzc(Unknown Source)
       at com.google.android.gms.internal.zzpv.begin(Unknown Source)
       at com.google.android.gms.internal.zzqa.zzc(Unknown Source)
       at com.google.android.gms.internal.zzpp.onConnected(Unknown Source)
       at com.google.android.gms.common.internal.zzk$1.onConnectionSuspended(Unknown Source)
       at com.google.android.gms.common.internal.zzd$zzd.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:111)
       at android.os.Looper.loop(Looper.java:207)
       at android.app.ActivityThread.main(ActivityThread.java:5740)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766)
Caused by android.os.DeadObjectException
       at android.os.BinderProxy.transactNative(Binder.java)
       at android.os.BinderProxy.transact(Binder.java:511)
       at android.content.pm.IPackageInstaller$Stub$Proxy.getAllSessions(IPackageInstaller.java:360)
       at android.content.pm.PackageInstaller.getAllSessions(PackageInstaller.java:404)
       at com.google.android.gms.common.zze.zzl(Unknown Source)
       at com.google.android.gms.common.zzc.isGooglePlayServicesAvailable(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source)
       at com.google.android.gms.internal.zzpy.zzapv(Unknown Source)
       at com.google.android.gms.internal.zzpy.zzc(Unknown Source)
       at com.google.android.gms.internal.zzpv.begin(Unknown Source)
       at com.google.android.gms.internal.zzqa.zzc(Unknown Source)
       at com.google.android.gms.internal.zzpp.onConnected(Unknown Source)
       at com.google.android.gms.common.internal.zzk$1.onConnectionSuspended(Unknown Source)
       at com.google.android.gms.common.internal.zzd$zzd.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:111)
       at android.os.Looper.loop(Looper.java:207)
       at android.app.ActivityThread.main(ActivityThread.java:5740)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766)

【问题讨论】:

这里有同样的问题。甚至不使用服务,只使用谷歌地图。您现在找到解决方案了吗? 【参考方案1】:

根据这个documentation,您遇到了一个错误,因为您正在调用的对象已经死亡,因为它的托管进程不再存在。此外,正如thread 中所述,它通常发生在 go 端崩溃时。通常有用的错误日志(如果有)在android.os.DeadObjectException 之前。

这个SO post 可能会帮助你:

覆盖您的服务的onDestroy() 方法并观察导致它的事件流。如果你没有通过这个方法就捕获了DeadObjectException,你的服务应该已经被操作系统杀死了。

【讨论】:

谢谢,但我无法重现它有没有办法找到它发生的类。

以上是关于android中的Binder运行时异常的主要内容,如果未能解决你的问题,请参考以下文章

Android中的Binder机制的简要理解

获取 Android 运行时:致命异常

Android:在运行时异常退出之前显示吐司

Android:未找到类运行时异常 - 仅发布版本

运行 flutter doctor --android-licenses 时发生异常

为啥 android logcat 不显示运行时异常的堆栈跟踪?