DeadObjectException 异常,堆栈跟踪指向:android.app.ApplicationPackageManager.getPackageInstaller

11

我在Crashlytics中看到了一个崩溃报告,其中包含这个堆栈跟踪,但没有提及我的应用程序代码。

我曾经见过与com.google.android.gms相关的DeadObjectException,那里的崩溃是在删除侦听器时触发的。

此外,每次我的应用程序启动时,我都会为记录目的获取安装程序信息,即:

packageManager.getInstallerPackageName(my-package-name)

此调用未关联任何回调。

崩溃主要出现在Lollipop和Kitkat上,虽然也有一些Marshmallow和Nougat用户遇到了这个问题。

有人经历过类似的情况吗?

Fatal Exception: java.lang.RuntimeException: android.os.DeadObjectException
       at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1632)
       at com.google.android.gms.common.zze.zzl(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
       at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
       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.onConnectionSuspended(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:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5438)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by android.os.DeadObjectException
       at android.os.BinderProxy.transactNative(Binder.java)
       at android.os.BinderProxy.transact(Binder.java:496)
       at android.content.pm.IPackageManager$Stub$Proxy.getPackageInstaller(IPackageManager.java:4229)
       at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1629)
       at com.google.android.gms.common.zze.zzl(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
       at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
       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.onConnectionSuspended(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:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5438)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

嗨@Techeretic - 你找到解决方案了吗?我们也遇到了同样的崩溃问题。 - jyanks
嗨@jyanks - 我已经复制了你的代码,如果你找到解决方案,请告诉我,这也会修复我的应用程序。 - Prathamesh Shetye
1个回答

0

这是Fabric crashlytics关于此异常的原因。

DeadObjectExceptions通常是问题在其他地方(可能是在远程进程中)发生的症状。即使捕获此异常可能是安全的,但值得注意的是要查找相关服务中的问题。


这个错误可能有两种可能的含义:
1) There is a bug (which caused a crash) in an associated process.

2) The other process was killed by the OS.

来源:Fabric崩溃报告。

资源:这里这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接