手机定屏死机问题操作指南

和你一起终身学 习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、定屏死机问题抓取 Log 要求

二、 复现定屏死机问题后做什么

三、检查adb是否可连的方法

四、连接adb 抓取以下Log

五、如果adb不可连,执行下面操作

六、黑屏 dump 抓取方案

一、 定屏死机问题抓取 Log 要求

  • 1.使用debug版本插入4G 及以上SD卡

  • 2.测试前调整手机时间和电脑时间一致。

  • 3.保留对应手机测试版本的 vmlinux 和 symbols 文件夹

    symbols目录:
    /out/target/product/XXX平台/symbols

    vmlinux目录:
    /out/target/product/XXX平台/obj/KERNEL/vmlinux

二、 复现定屏死机问题后做什么

  • 1.记录时间点

  • 2.拍照,保留现场

  • 3.检查adb是否可连

  • 4.检查打电话是否能接通

三、检查adb是否可连的方法

手机连接USB,执行 adb devices,查看是否可以识别到设备ID,能成功识别,则表示adb可以连接,否则请查看 5037端口号是否被占用,建议退出各种手机助手,360安全卫士等软件,多次尝试一下方法。

go 复制代码
adb kill-server
adb start-server
adb root
adb remount
adb devices
adb shell
  • 1.adb kill-server

杀掉PCadb 进程,防止 5037 断开被手机助手占用。

  • 2.adb start-server

启动 PC adb 进程

  • 3.adb root

获取root 权限

  • 4.adb remount

挂载手机

  • 5.adb devices

查看设备id

  • 6.adb shell

看是否能进入adb shell,可进入则是adb可连反之不可连

adb 查看手机是否挂载成功截图

四、连接adb 抓取以下Log

  • 1.点击 power键,抓取 按键事件的Kernellog
go 复制代码
adb shell cat /proc/kmsg > kernel.log
  • 2.抓一些 adb现场Log
go 复制代码
adb logcat --v time > logcat.txt
  • 3.抓取 Bugreport
go 复制代码
//Android 7.0及以上
adb shell bugreport > bugreport.zip
//Android 5.0 6.0及以下
adb shell bugreport > bugreport.txt

Bugreport抓取缓慢,需要等待 3分钟左右。

  • 4.抓取system_server 的调用栈

抓取system_server 的调用栈信息

1.连接adb

go 复制代码
adb shell
  1. 创建文件
go 复制代码
touch /data/anr/traces.txt

3.修改文件权限

go 复制代码
chmod 777 /data/anr/traces.txt**

4.切换root

go 复制代码
su

5.查找system_server 进程id

go 复制代码
ps -A | grep system_server

6.根据id杀掉system_server

go 复制代码
kill -3 13691

7.截屏保留线程

go 复制代码
/system/bin/screencap -p > /data/anr/screenshot.png

8.导出trace 信息

go 复制代码
adb pull /data/anr/traces.txt .

9.如果是黑屏下定屏可以使用此命令检测是否可以点亮屏幕

go 复制代码
echo on > /sys/power/state
  1. 导出 panic文件

触发panic后理论上手机重启会有以下两个文件保存在data中,adb 命令如下:

go 复制代码
adb pull /data/dontpanic/apanic_console
adb pull /data/dontpanic/apanic_threads

五、如果adb不可连,执行下面操作

1.音量上+ 音量下+电源键(双击2次 )抓取 sysdump

如果无效请看第二点(Kernel活着,软件重启触发Dump)

2.长按Power7S触发dump(部分手机可用)

3.同时长按 音量上电源键 抓取sysdumpKernel已死,硬件重启触发sysdump

六、黑屏 dump 抓取方案

1.记录下问题发生的时间点

2.adb 是否可连

若可以连接,请执行如下命令

go 复制代码
adb root
    adb remount
    adb shell df >> df.txt
    adb shell b2g-ps --oom >> b2g_ps.txt
    adb shell b2g-info >> b2g-info.txt
    adb shell debuggerd -b xxx >> b2g_debuggerd.txt (xxx为b2g_ps.txt中记录的b2g进程号)
    adb shell screencap -p /data/1.png
    adb shell getevent >> getevent.txt (此时请操作物理按键几次power,上下左右,enter等,看是否按键消息输出)
    adb shell screencap -p /data/2.png
    adb logcat -v threadtime  >> adb_logcat.txt (在logcat执行过程中,再操作几下按键)
    adb shell screencap -p /data/3.png
    adb shell dumpsys SurfaceFlinger >sf.txt
    adb shell dumpsys window > window.txt

3.给测试机拨打电话看看是否反应?

参考文献:

【腾讯文档】Android Framework 知识库

https://docs.qq.com/doc/DSXBmSG9VbEROUXF5

友情推荐:

Android 开发干货集锦

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

点击阅读原文,为大佬点赞!

相关推荐
玉梅小洋9 小时前
手机 App 云端存储云服务选型指南
人工智能·智能手机·手机·工具开发·手机app开发
玉梅小洋11 小时前
手机 App 跨平台框架统一目录构建
智能手机·手机·app开发
东哥笔迹1 天前
高通骁龙Android手机平台EIS基础pipeline(二)
智能手机
jian110581 天前
Android studio 调试flutter 运行自己的苹果手机上
flutter·智能手机·android studio
小锋学长生活大爆炸1 天前
【工具】手机控制iPixel LED屏实现转向和刹车联动、语音控制显示内容
智能手机·工具·led·车机·智能·diy·ipixel
Boxsc_midnight2 天前
【openclaw+imessage】【免费无限流量】集成方案,支持iphone手机+macos
ios·智能手机·iphone
RichardLau_Cx2 天前
【实用工具】2026最新视频压缩工具推荐(PC/在线/手机/命令行全覆盖)
智能手机
感谢地心引力2 天前
安卓、苹果手机无线投屏到Windows
android·windows·ios·智能手机·安卓·苹果·投屏
DS数模2 天前
2026年美赛MCM A题保姆级教程思路分析|A题:智能手机电池消耗建模
数学建模·智能手机·美国大学生数学建模竞赛·美国大学生数学建模·2026美赛·2026美赛a题
TheNextByte12 天前
如何打印Android手机联系人?
android·智能手机