Skip to content

0x03d Crash_zh

hui.zhao edited this page Mar 27, 2020 · 5 revisions

Crash

额外依赖

AndroidGodEye的Crash收集模块使用了开源项目xCrash,所以你需要在项目中添加依赖,否则Crash模块会安装失败(当然如果你不需要Crash收集功能的话可以忽略这个失败信息)

implementation 'cn.hikyson.godeye:godeye-xcrash:VERSION_NAME'

支持Java和Native崩溃

如果你的项目中已经有xCrash,可能会存在配置冲突,请删除此依赖,并在已有的xCrash回调中发送数据至AndroidGodEye的Crash模块:

try {
    CrashInfo crashInfo = new CrashInfo();
    crashInfo.crashTime = FORMATTER_2.format(new Date());
    ...
    GodEye.instance().<Crash>getModule(GodEye.ModuleName.CRASH).produce(Arrays.asList(crashInfo));
} catch (UninstallException e) {
    e.printStackTrace();
}

安装

使用如下配置进行安装

GodEye.instance().install(GodEyeConfig.defaultConfigBuilder().withCrashConfig(new GodEyeConfig.CrashConfig(false)).build());

或者

<crash immediate="false"/>

配置的immediate表示是否需要将Crash立即输出,如果为true,那么一旦发生Crash将会立即输出,如果为false,那么一般情况下会在崩溃之后的下一个安装crash模块之后立刻输出,但是,如果崩溃文件在内部保存的时候发生异常的特殊情况下也会在Crash之后立即输出

数据生产与消费

使用如下方式监听模块输出的数据:

try {
           GodEye.instance().observeModule(GodEye.ModuleName.CRASH, (List<CrashInfo> crashInfos) -> {
                });
        } catch (UninstallException e) {
            e.printStackTrace();
        }

DebugMonitor Dashboard

android_god_eye_crash_summary

android_god_eye_crash_detail

Clone this wiki locally