android.os.Parcel.createExceptionOrNull 致命异常:java.lang.IllegalArgumentException

问题描述 投票:0回答:1

我在 Android 11

Samsung
设备上遇到此异常。

这是堆栈跟踪:

        at android.os.Parcel.createExceptionOrNull(Parcel.java:2389)
        at android.os.Parcel.createException(Parcel.java:2369)
        at android.os.Parcel.readException(Parcel.java:2352)
        at android.os.Parcel.readException(Parcel.java:2294)
        at android.app.IActivityManager$Stub$Proxy.getHistoricalProcessExitReasons(IActivityManager.java:11260)
        at android.app.ActivityManager.getHistoricalProcessExitReasons(ActivityManager.java:4231)
        at androidx.work.impl.utils.ForceStopRunnable.isForceStopped(ForceStopRunnable.java:171)
        at androidx.work.impl.utils.ForceStopRunnable.forceStopRunnable(ForceStopRunnable.java:210)
        at androidx.work.impl.utils.ForceStopRunnable.run(ForceStopRunnable.java:108)
        at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)

任何人都可以帮我解决这个问题吗?

java android kotlin android-11
1个回答
0
投票

您看到的错误跟踪通常与 Android WorkManager 库的问题有关,特别是当系统尝试查询进程的历史退出原因时。以下是可能的原因和解决方案的细分:

对系统API的访问受限:该错误源自ActivityManager.getHistoricalProcessExitReasons,它访问历史进程退出原因。此 API 的权限受到限制,尤其是在某些设备和 Android 版本上,如果由没有必要权限的应用程序访问,可能会引发异常。

操作系统兼容性和制造商定制:某些Android版本或设备制造商修改系统行为,访问某些API可能会触发异常。 WorkManager 调用 getHistoricalProcessExitReasons 来检查应用程序是否已被强制停止,但如果操作系统对其进行限制,则可能会导致错误。

未处理的异常:WorkManager 的 ForceStopRunnable 使用可能引发意外异常的 API 检查应用程序是否已被强制停止。如果不处理这些异常,它们可能会冒泡并导致进程崩溃。

© www.soinside.com 2019 - 2024. All rights reserved.