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

和你一起终身学 习,这里是程序员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 开发干货集锦

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

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

相关推荐
mit6.8243 小时前
[手机AI开发sdk] 模型冻结&解冻.pb | `aidlite`加速AI模型
人工智能·智能手机
nono牛1 天前
MTK平台详解`ro.boot.serialno` 的实现流程 adb devices输出序列号
adb·智能手机
JoyCong19981 天前
手机、平板、电脑如何投屏画面到电视?ToDesk远程控制TV版教程分享
智能手机·电脑
Digitally2 天前
如何用5种实用方法将电脑上的音乐传输到安卓手机
android·智能手机·电脑
wanhengidc2 天前
云手机的基本原理
运维·服务器·游戏·智能手机·云计算
AIminminHu2 天前
系列文章<八>(从LED显示屏的Gamma过曝问题问题到手机影像):从LED冬奥会、奥运会及春晚等大屏,到手机小屏,快来挖一挖里面都有什么
智能手机·gamma校正·gamma·gamma过曝
飞睿科技2 天前
超越蓝牙与Wi-Fi,UWB技术如何解锁手机下一波创新浪潮?
嵌入式硬件·物联网·智能手机·uwb
wanhengidc2 天前
云手机畅玩 梦幻西游
运维·服务器·arm开发·智能手机·自动化
夏婵语冰2 天前
手机轻松控制电脑:局域网内远程操控B站/抖音实战教程
智能手机·手机轻松控制电脑·局域网内远程操控b站·局域网内远程操控抖音
程序员杰哥2 天前
Fiddler抓包手机和部分app无法连接网络问题
自动化测试·软件测试·python·测试工具·智能手机·fiddler·测试用例