本篇文章主要介绍 Android 开发中的 关机 部分知识点,通过阅读本篇文章,您将收获以下内容:
一、确认是亮屏关机还是灭屏关机?关机时是否有播放关机动画?
二、是直接关机还是关机后会自动重启?
三、异常关机时,连上uart线是否可以吐log?插上usb后是否能显示关机充电动画?
四、如果按Powerkey可以重新开机,请注意按powerkey的时长是多少?
五、检查log中的Battery电压等信息,判断是否为低电或者电压波动异常大?
六、检查log中的Thermal信息,是否有电池温度或者板温过60度的情况?
七、如果是电池本身的过流/过压保护,异常关机后按 Powerkey 不能重启,必须要拔插电池才能恢复。
八、抓取关机log
九、MTK Android O 之后版本 Log 注意事项
由于异常关机问题可能存在多种可能性(异常重启,异常关机,hang机,掉电),请务必厘清复现过程和手法,保留问题现场。
一、确认是亮屏关机还是灭屏关机?
关机时是否有播放关机动画?
如果有播放关机动画可以检查关机流程的调用是否有异常。
二、 是直接关机还是关机后会自动重启?
可以检查Log中是否有走ShutdownThread或者reboot流程,是否有对应的exception或db产生。
三、 异常关机时,连上uart线是否可以吐log?插上usb后是否能显示关机充电动画?
如果可以吐log,可以通过log判断是hang机还是关机充电;若能正常显示关机充电动画可以确认之前的行为是关机而不是hang机。
四、如果按Powerkey可以重新开机,请注意按powerkey的时长是多少?
如果是关机,按Powerkey 2~4s即可重新开机;如果是Hang机,按Powerkey要8s以上才会强制掉电重启。
五、 检查log中的Battery电压等信息,判断是否为低电或者电压波动异常大?
在 events_log 中 搜索关键字 battery_level,查看电池电量、电压、温度信息
04-20 17:18:49.211290 1035 1035 I battery_level: [37(电量),3682(电压),280(电池温度)]
六、 检查log中的Thermal信息,是否有电池温度或者板温过60度的情况?
同上5
七、如果是电池本身的过流/过压保护,异常关机后按 Powerkey 不能重启,必须要拔插电池才能恢复。
八、抓取关机log
Log包括关机mobile log(最好能抓logcat和uart log),关机后再开机的mobile log(包括pl_lk log、kernel_log.boot、main_log.boot、last_kmsg、property、cmdline等信息),如果有exception信息请抓取对应db文件。
九、 MTK Android O 之后版本 Log 注意事项
Android O中mtklog 和db 不在同一个目录,抓取 log 时需要同时导出来。
导出MTK Log的命令如下:
adb pull /sdcard/mtklog
adb pull /data/aee_exp
adb pull /data/vendor/mtklog/aee_exp
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!