极力推荐Android 开发大总结文章:欢迎收藏
程序员Android 力荐 ,Android 开发者需要的必备技能
本篇文章主要介绍 Android
开发中的定屏死机部分知识点,通过阅读本篇文章,您将收获以下内容:
一、定屏死机问题操作指南
一、定屏死机问题操作指南
测试要求:
- 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是否可连
adb检查方法
image.png
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 可连,执行下面的操作:
-
1.adb shell cat /proc/kmsg > kernel.log
点击 power键 -
2.adb logcat –v time > logcat.txt
抓一些现场的log -
3.adb shell bugreport > bugreport.zip (Android 7.0及以上)
adb shell bugreport > bugreport.txt(Android 5.0 6.0)
等待Bugreport执行完(3分钟左右) -
4.抓取
system_server
的调用栈
抓取system_server 的调用栈
1.adb shell
进入adb
2.touch /data/anr/traces.txt
创建文件
3.chmod 777 /data/anr/traces.txt
修改文件权限
4.su
切换root
5.ps -A|grep system_server
查找system_server 进程id
6.kill -3 13691
根据id杀掉system_server
7./system/bin/screencap -p > /data/anr/screenshot.png
截屏
8.adb pull /data/anr/traces.txt .
echo on > /sys/power/state
ps: 如果是黑屏下定屏可以使用此命令检测是否可以点亮屏幕
触发panic 后理论上手机重启会有以下两个文件保存在data中
adb pull /data/dontpanic/apanic_console
adb pull /data/dontpanic/apanic_threads
如果adb不可连执行下面的操作:
1.音量上+ 音量下+power key(2次 )抓取sysdump。
如果无效请看第二点(Kernel活着,软件重启触发Dump)
2.长按Power键7S触发dump(部分手机可用)
3.同时长按 音量上和 电源键 抓取sysdump (Kernel已死,硬件重启触发Dump)
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!
如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。
小礼物走一走,来简书关注我