稳定性汇总总结

1.简介
1.1 目的
本文结合作者在平时实际的Android异常处理工作,总结了Android平板系统各种异常的定位方法及对异常信息的分析方法,为开发人员提供问题定位手段,快速解决Android系统异常,特别是框架层和应用层层面的异常提供方法和思路。
1.2 范围
本文主要读者和使用范围为屏类框架应用的开发和维护人员。本文以理论介绍为辅,已具体问题解决实战为主。
1.3 遗留问题
对JNI层和驱动层的异常信息分析仅作简要介绍,缺乏实战分析经验,需近一步研究。

2.LOG种类
Android系统的异常可以划分为三大类,如下图所示:
所对应的代码层面的Log抓取为集成测试中以下相关代码:

private void initLogSourcePaths() {
	mLogSourcePaths.add("/data/log");
  //mLogSourcePaths.add("/data/dumplog");
	mLogSourcePaths.add("/data/anr");
	mLogSourcePaths.add("/data/system/dropbox");
	mLogSourcePaths.add("/data/tombstones");
	mLogSourcePaths.add("/data/dontpanic");
}

private static final String LOG_CMD[] = { "logcat -d -v time", "dmesg",
		"logcat -b radio -d -v time", "bugreport -d -v time" };

这些Log通过集成测试工具倒出来后的目录结构如下:

对于ADB 、KMSG 、RADIO 常用的log就不再做说明,下面将就这些导出的Log信息中我们不常用也不常见但是对于定位问题及其重要的几种Log信息做简要的介绍说明。
2.1 Bugreport
在ADB环境中输入如下命令即可。
Bugreport所导出的信息及其庞大,并不是所有的信息都需要我们关注。其中常见的需要重点关注的信息如下:内存、C

猜你喜欢

转载自blog.csdn.net/qq_42894864/article/details/104065532