gpt4 book ai didi

android - 如何从 ApplicationErrorReport 类获取崩溃信息?

转载 作者:行者123 更新时间:2023-11-29 02:06:03 26 4
gpt4 key购买 nike

Android ICS (api 14) 引入了具有以下信息的 ApplicationErrorReport 类:CrashInfo BatteryInfo 和 ANRInfo。从类概述来看,此类似乎是指安装在设备上的所有应用程序,而不是用于调试您自己的个人应用程序。我似乎无法获得该信息(模拟崩溃和 anr)

我试过这段代码:

ApplicationErrorReport appp = new ApplicationErrorReport();
CrashInfo test = appp.crashInfo;
Log.i(test.stackTrace);

但我知道测试是null

如何获取崩溃信息?

最佳答案

ApplicationErrorReport API它说:

ApplicationErrorReport()
Create an uninitialized instance of ApplicationErrorReport.

这意味着错误的“类型”未定义,因此它不是崩溃报告,因此崩溃信息为空。

编辑:我看了一下 source code .您可以通过 readFromParcel(in) 方法实例化 CrashInfo 部分,其中 parcel 中的第一个 int 是与 ApplicationErrorReport.TYPE_CRASH 对应的 int。或者,您可以自己创建一个 CrashInfo 对象并将其分配给 ApplicationErrorReport,但是如果您想要填充 CrashInfo 数据,这又需要一个包裹。

我试着寻找使用它的代码,但我唯一能找到的是 ApplicationManagerNative (也使用包裹)。

case HANDLE_APPLICATION_CRASH_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
IBinder app = data.readStrongBinder();
ApplicationErrorReport.CrashInfo ci = new ApplicationErrorReport.CrashInfo(data);
handleApplicationCrash(app, ci);
reply.writeNoException();
return true;
})

关于android - 如何从 ApplicationErrorReport 类获取崩溃信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9973750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com