本篇文章主要介绍 Android
开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
一、AEE 系统机制简介
二、AEE 重启异常分类介绍
三、重启问题之 Kernel Exception
四、重启问题之 Watchdog Timeout
五、重启问题之 Hardware Reboot
一、 AEE 系统机制简介
1.MTK AEE 系统
AEE 是 MTK
平台自研,用于侦测Android
手机系统异常重启的一套系统机制,当AEE系统
侦测到异常后会生成 db 文件.
2.db 文件存储路径
MTK 重启db 文件保存的路径如下:/data/aee_exp
或 data/vendor/mtklog/aee_exp
Android 8.0
之后由于系统安全机制导致db
无法保存到MTK log
中user
版本 中AEE
仅仅侦测引起的重启故障,例如:KE/system server , NE/system server ,JE/SWT
。
3.AEE 异常侦测机制
AP
层重启时候,AEE
系统会在db
生成后会发生am
广播(com.mediatek.log2server.EXCEPTION_HAPPEND
),但系统重启类异常(KE / HW reboot/ HWT
)不会发送广播,因为AMS
还无法使用。
另外,AEE
会开机后判断异常重启,当异常重启后会设置debug.mtk.aee.db
的 property
,由于不是persist
的,关机就丢失,因此只有异常重启后才有这个property
存在。
因此,我们可以通过检查debug.mtk.aee.db
的方法来获取系统是否发生了异常重启。
4.重启异常 debug.mtk.aee.db 读取方法
- 1.java 层:
android.os.SystemProperties.get("debug.mtk.aee.db", "")
-
- native层:
int property_get(const char* key, char* value, const char* def);