由于异常关机问题可能存在多种可能性(异常重启,异常关机,hang机,掉电),请务必厘清复现过程和手法,保留问题现场,以下信息请在提case的时候一起提供:
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电压等信息,判断是否为低电或者电压波动异常大?
6、检查log中的Thermal信息,是否有电池温度或者板温过60度的情况?
7、如果是电池本身的过流/过压保护,异常关机后按Powerkey不能重启,必须要拔插电池才能恢复。 
8、提供的log中请包括关机mobile log(最好能抓logcat和uart log),关机后再开机的mobile log(包括pl_lk log、kernel_log.boot、main_log.boot、last_kmsg、property、cmdline等信息),如果有exception信息请一并提供对应db文件。
9、如果以上方法都没看出任何异常,需要看PMIC记录的最后关机的原因。方法有2个,任选一个:
  1. 测试前接上USB和uart(保证可以看到preloader log),然后复现问题,复现后一定会在关机充电画面(异常掉电),测试看进入关机充电的preloader log,里面的PMIC reg log记录了上次关机原因。
  2. O及以后版本会把上一次的preloader log保存到expdb。在测试复现问题后(全程不能按power key),插上usb,此时进入关机充电,短按power key 3s,正常开机,然后
    执行如下命令:
    adb shell dd if=/dev/block/platform/bootdevice/by-name/expdb of=/sdcard/expdb
    adb pull /sdcard/expdb将导出的expdb,用NotePad++直接打开,看log

preloader PMIC reg log如下(具体含义看datasheet):

[PMIC]TOP_RST_STATUS[0x152]=0x4F
[PMIC]PONSTS[0xC]=0x4
[PMIC]POFFSTS[0xE]=0x80
[PMIC]PGSTATUS0[0x14]=0xFFFE
[PMIC]PSOCSTATUS[0x16]=0x0
[PMIC]BUCK_OC_SDN_STATUS[0x1434]=0x0
[PMIC]BUCK_OC_SDN_EN[0x1444]=0x31F
[PMIC]THERMALSTATUS[0x18]=0x0
[PMIC]STRUP_CON4[0xA1C]=0x0
[PMIC]TOP_RST_MISC[0x14C]=0x200
[PMIC]TOP_CLK_TRIM[0x38E]=0x6EC0

Android 系统(149)---如何初步定位异常关机问题相关推荐

  1. MTK 驱动(72)---如何初步定位异常关机问题

    如何初步定位异常关机问题 由于异常关机问题可能存在多种可能性(异常重启,异常关机,hang机,掉电),请务必厘清复现过程和手法,保留问题现场,以下信息请在提case的时候一起提供: 1.确认是亮屏关机 ...

  2. Android 系统(151)----添加开关机铃声

    一.制作bootanimation.zip(windows)和准备开机铃声bootaudio.mp3 1.新建文件夹:bootanimation 2.在文件夹bootanimation中新建文件夹pa ...

  3. Android有官方的GPS定位API,为什么还要使用百度/高德定位SDK ?

    1. 背景 小组在一个Demo项目中,图省事准备使用官方的GPS定位API. 但在我的印象中,官方的定位API是不好用的,一般都是用 高德地图/百度地图 的定位SDK的. 使用官方的定位API获取定位 ...

  4. 定位系统服务器,android系统定位服务器地址

    android系统定位服务器地址 内容精选 换一换 将NFS文件系统挂载到Windows IIS服务器时,报错路径格式不支持,挂载失败.IIS Web服务器的物理路径错误.根据可能原因进行故障排查.如 ...

  5. 基于Android系统的高精度定位SDK方案

    内容简介 1.Android经典架构 2.Android高精度SDK架构设计说明 3.Android高精度SDK系统层技术设计详解 课程实录 一.Android经典架构 Android系统的架构分为四 ...

  6. wifi android系统耗电,魅族mx4 pro耗电严重是什么原因?异常费电元凶居然是WiFi

    魅族MX4 Pro已经上市了一段时间,由于这款手机2499元的售价性价比很高,所以很多网友都选择购买.不过一些购买了魅族MX4 Pro的用户在使用了一段时间手机之后,发现它的耗电情况有些严重,使用往往 ...

  7. android 系统重启关机 方法 非常好的一篇文章

    1.5 android 系统重启关机流程分析 1.5.1 c语言中调用 reboot 函数  HAL层中重启系统的方法 bionic/libc/unistd/reboot.c:33: 使用需要的头文件 ...

  8. linux 关机 日志,centos7 异常关机了,怎么查看系统的异常日志?

    centos7 异常关机了,怎么查看系统的异常日志? crash中也没有dump的文件. 这是messages日志: Feb 26 11:14:03 moon systemd-logind: Remo ...

  9. 从源码角度分析Android系统的异常捕获机制是如何运行的

    我们在开发的时候经常会遇到各种异常,当程序遇到异常,便会将异常信息抛到LogCat中,那这个过程是怎么实现的呢? 我们以一个例子开始: import android.app.Activity; imp ...

最新文章

  1. 主动,是因为在乎,不再联系,是因为感到自己多余
  2. 马赛克,克星,真来了!
  3. android listview动态加载网络图片不显示,Android Listview异步动态加载网络图片
  4. 一些简单的链表算法一
  5. Flask爱家租房--订单(下订单)
  6. 设计模式_4_适配器模式(AdapterPattern, 多个功能的结合)
  7. “丑东西”,正在成为一门生意
  8. HttpRequest Get和Post调用其他页面的方法
  9. String ,StringBuilder,StringBuffer的区分
  10. Sharepoint 2010 sdk
  11. windows server 2003产生的 Minidmp蓝屏文件分析求助
  12. 设置网页地址栏小图标
  13. 计算机专业学不学画法几何,高数难呀,学不懂不只从哪下手,还有画法几何
  14. MySQL 分页查询
  15. Android Verified Boot 2.0
  16. 如何在win7 64下安装ipython notebook
  17. 搜索引擎排名都选乐云seo_百度官网排名-搜索引擎算法优化
  18. java 定时器 倒计时_定时器倒计时demo
  19. 什么是cmnet和cmwap
  20. 深入HotSpot虚拟机源码探究synchronized底层实现原理【万字总结synchronized】

热门文章

  1. 线程优先级抢占实验【RT-Thread学习笔记 3】
  2. 通过radius给ppp客户端分配ip地址
  3. linux内核PID管理
  4. cJSON各函数实现的功能
  5. 操作系统中分页、分段、交换空间、页面置换算法等相关概念
  6. mysql数据库约束详解_基于MySQL数据库的数据约束实例及五种完整性约束介绍
  7. mysql 设置utf8mb4_mysql配置utf8_mb4
  8. 导入drf_Django后端rest最简洁最快最全入门指南,1天学会DRF后端不夸张,看这篇就够了!!...
  9. Selenium3+python 加载Firefox配置
  10. maven项目部署到Repository(Nexus)