本篇文章主要介紹 Android 開發中的 關機 部分知識點,通過閱讀本篇文章,您將收獲以下
內容:
1 . 確認是亮屏關機還是滅屏關機?關機時是否有播放關機動畫?
2 . 是直接關機還是關機后會自動重啟?
3.異常關機時,連上uart線是否可以吐log?插上usb后是否能顯示關機充電動畫?
4 . 如果按Powerkey可以重新開機,請注意按powerkey的時長是多少?
5 . 檢查log中的Battery電壓等信息,判斷是否為低電或者電壓波動異常大?
6 . 檢查log中的Thermal信息,是否有電池溫度或者板溫過60度的情況?
7 . 如果是電池本身的過流/過壓保護,異常關機后按 Powerkey 不能重啟,必須要拔插電池才能恢復。
8 . 抓取關機log
9 . MTK Android O 之后版本 Log 注意事項
由于異常關機問題可能存在多種可能性(異常重啟,異常關機,hang機,掉電),請務必厘清復現過程和手法,保留問題現場。
1 . 確認是亮屏關機還是滅屏關機?關機時是否有播放關機動畫?
如果有播放關機動畫可以檢查關機流程的調用是否有異常。
2 . 是直接關機還是關機后會自動重啟?
可以檢查Log中是否有走ShutdownThread或者reboot流程,是否有對應的exception或db產生。
3 . 異常關機時,連上uart線是否可以吐log?插上usb后是否能顯示關機充電動畫?
如果可以吐log,可以通過log判斷是hang機還是關機充電;若能正常顯示關機充電動畫可以確認之前的行為是關機而不是hang機。
4 . 如果按Powerkey可以重新開機,請注意按powerkey的時長是多少?
如果是關機,按Powerkey 2~4s即可重新開機;如果是Hang機,按Powerkey要8s以上才會強制掉電重啟。
5 . 檢查log中的Battery電壓等信息,判斷是否為低電或者電壓波動異常大?
在 events_log 中 搜索關鍵字 battery_level,查看電池電量、電壓、溫度信息
04-20 17:18:49.211290 1035 1035 I battery_level: [37(電量),3682(電壓),280(電池溫度)]
6 . 檢查log中的Thermal信息,是否有電池溫度或者板溫過60度的情況?
同上5
7 . 如果是電池本身的過流/過壓保護,異常關機后按 Powerkey 不能重啟,必須要拔插電池才能恢復。
8 . 抓取關機log
Log包括關機mobile log(最好能抓logcat和uart log),關機后再開機的mobile log(包括pl_lk log、kernel_log.boot、main_log.boot、last_kmsg、property、cmdline等信息),如果有exception信息請抓取對應db文件。
9. 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
至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝!