Android各种卡死黑屏系统稳定性问题Log抓取大荟萃

   作为Androd开发工作者的我们,经常会在实际的开发工作中遇到各种Android卡死黑屏系统稳定性等问题,遇到如上问题除了考验Android基本功是否扎实以外,最重要的是就是能否抓取到足够的日志和是否有足够的调试手段进行分析了,下面奉上我在实际工作中总结的抓取Log日志用到的各种必杀技。

应用冻结/奔溃

   应用冻结/奔溃对于Android应用开发的工程师来说是比较常见的,该种问题通常大概率是ANR或者是Jni层Native crash了,可以通过如下手段获取奔溃日志:

1.捕获通用日志
logcat log (main, system, event, radio)2.抓取内核日志(Dmesg/kernel logs)
adb shell  " cat  /proc/kmsg "  或者 adb shell dmesg3.获取系统ANRT日志(Trace file /data/anr)
adb pull /data/anr/  .\anr4.获取系统墓碑日志(tombstones )
adb pull /data/tombstones  .\tombstones5.过滤运行时异常和DEBUG异常
adb logcat  -s AndroidRuntime,DEBUG > crash.txt

如上相关日志的获取必须在发生异常的时候立马获取,这个原因自不必多说。

Reboot Android系统

   Reboot Android系统这种系统稳定性问题,一般出现在system_server出现了死锁问题,然后Android的WatchDog看门狗检测到了,然后重启Android相关进程导致,可以通过如下手段捕获奔溃日志:

1.捕获通用日志
logcat log (main, system, event, radio)2.抓取内核日志(Dmesg/kernel logs)
adb shell  " cat  /proc/kmsg "  或者 adb shell dmesg3.抓取bugreport信息(该信息是Android为了方便开发人员分析整个系统平台和某个app在运行一段时间之内的所有信息,专门开发了bugreport工具)
adb shell bugreport  > bugreport.txt4.抓取dumpstate信息(dumpstate类似于dumpsys都是android提供给开发者的帮助了解系统运行状态的利器)
adb shell dumpstate > dumpstate.txt5.抓取dumpsate(dumpsys都是android提供给开发者的帮助了解系统运行状态的利器)
adb shell dumpsys > dumpsys.txt6.抓取Binder传输日志
adb pull /d/binder/ .\binder7.获取系统ANRT日志(Trace file /data/anr)
adb pull /data/anr/  .\anr8.获取系统墓碑日志(tombstones )
adb pull /data/tombstones  .\tombstones

终端黑屏(Black screen)

   终端黑屏(Black screen)这种系统稳定性问题,一般出现问题时,此时power按键一般能用,可以通过adb shell getevent查看到input事件信息。可以通过如下手段捕获奔溃日志:

1.捕获通用日志
logcat log (main, system, event, radio)2.抓取内核日志(Dmesg/kernel logs)
adb shell  " cat  /proc/kmsg "  或者 adb shell dmesg3.抓取bugreport信息(该信息是Android为了方便开发人员分析整个系统平台和某个app在运行一段时间之内的所有信息,专门开发了bugreport工具)
adb shell bugreport  > bugreport.txt4.抓取dumpstate信息(dumpstate类似于dumpsys都是android提供给开发者的帮助了解系统运行状态的利器)
adb shell dumpstate > dumpstate.txt5.抓取dumpsate(dumpsys都是android提供给开发者的帮助了解系统运行状态的利器)
adb shell dumpsys > dumpsys.txt6.抓取Binder传输日志
adb pull /d/binder/ .\binder7.获取系统ANRT日志(Trace file /data/anr)
adb pull /data/anr/  .\anr8.获取系统墓碑日志(tombstones )
adb pull /data/tombstones  .\tombstones9.获取meminfo日志(Meminfo log)
adb shell cat proc/meminfo >meminfo.txt 10.获取Procrank信息 (Procrank log)
adb shell procrank >procrank.txt 11 获取top信息日志(Top log)
adb shell top -m 10  >top.txt 12.Add below information:
•Adb workable or not, ANR or not
•CTP workable or not-> touch screen and observe the output of"adb shell getevent".
•Display driver workable or not-> Use the screencast to seeif the screen can be displayed
•Power key/volume key work or not?
Menu/back/home key work or not? 13 .查看kernel的线程函数栈
adb shell "echo t > /proc/sysrq-trigger"
adb shell "cat /proc/kmsg" > ./kmsg_trigger.txt

系统卡死/屏幕卡死(System Freeze/ Touch panel freeze)

   出现这个问题,恭喜你,这个是Android系统稳定性里面最严重的,此时一般Power按键,菜单键等都统统失效了,此时通过可以通过adb shell getevent查看到input事件信息也看不到任何信息了,那么我们此时可以通过如下手段捕获日志:

1.捕获通用日志
logcat log (main, system, event, radio)2.抓取内核日志(Dmesg/kernel logs)
adb shell  " cat  /proc/kmsg "  或者 adb shell dmesg3.抓取bugreport信息(该信息是Android为了方便开发人员分析整个系统平台和某个app在运行一段时间之内的所有信息,专门开发了bugreport工具)
adb shell bugreport  > bugreport.txt4.抓取dumpstate信息(dumpstate类似于dumpsys都是android提供给开发者的帮助了解系统运行状态的利器)
adb shell dumpstate > dumpstate.txt5.抓取dumpsate(dumpsys都是android提供给开发者的帮助了解系统运行状态的利器)
adb shell dumpsys > dumpsys.txt6.抓取Binder传输日志
adb pull /d/binder/ .\binder7.获取系统ANRT日志(Trace file /data/anr)
adb pull /data/anr/  .\anr8.获取系统墓碑日志(tombstones )
adb pull /data/tombstones  .\tombstones9.获取meminfo日志(Meminfo log)
adb shell cat proc/meminfo >meminfo.txt 10.获取Procrank信息 (Procrank log)
adb shell procrank >procrank.txt 11 获取top信息日志(Top log)
adb shell top -m 10  >top.txt 12.Add below information:
•Adb workable or not, ANR or not
•CTP workable or not-> touch screen and observe the output of"adb shell getevent".
•Display driver workable or not-> Use the screencast to seeif the screen can be displayed
•Power key/volume key work or not?
Menu/back/home key work or not? 13 .查看kernel的线程函数栈
adb shell "echo t > /proc/sysrq-trigger"
adb shell "cat /proc/kmsg" > ./kmsg_trigger.txt14.抓取窗口信息 (Dumpsys window log)
adb shell dumpsys window > dump_window.txt15.抓取可以 event信息(Key events log)
adb shell getevent -rtl /dev/input/event0 按键事件

结语

   如上是分别针对不同的Android系统稳定性稳定,提供的日志抓取方法。有了相关的日志信息了,接下来的步骤就是进行相关的具体日志分析了,分析日志就要考验开发者的硬实力了。不过这个也有一定的套路可以遵循,在这里打一个广告,可以参见如下的bug进行分析和借鉴。
记一次Android概率性定屏问题分析解决路程
ChkBugReport的使用
Android ANR日志实战分析指南

Android各种卡死黑屏系统稳定性问题Log抓取大荟萃相关推荐

  1. Android系统(121)---Android启动页黑屏及最优解决方案

    Android启动页黑屏及最优解决方案 前言 相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页.那么这个黑屏或者白屏 ...

  2. Android 系统(119)---Android启动页黑屏及最优解决方案

    Android启动页黑屏及最优解决方案 前言 相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页.那么这个黑屏或者白屏 ...

  3. android最优化启动画面,Android启动页黑屏及最优解决方案

    原标题:Android启动页黑屏及最优解决方案 作者:拉丁吴 链接:https://juejin.im/post/58ad90518ac2472a2ad9b684 前言 相信做过Android的朋友都 ...

  4. iPhone 13屏幕卡死黑屏、无法关机?如何解决

    iPhone 13系列手机在外观和硬件进行了双重升级,搭载的iOS 15系统在功能上也做出了不少改动,但还是频频爆出各种问题.前段时间还因"红绿双色屏"问题登上了微博热搜. 最近, ...

  5. 驱动人生解决电脑总是无端卡死/黑屏需强制关机的现象

    是不是经常遇到电脑总是无端卡死/黑屏需强制关机的现象,这种怎么解决呢? 首先我们要知道引发这种问题原因是什么,我们才能对症下药驱解决. 引起电脑死机的原因: 硬件方面: 1.主板不稳定或灰尘过多导致的 ...

  6. android进入应用黑屏原因以及解决方案

    android 界面进入黑屏解决方案: .1 原因 加载onCreate 方法 执行方法加载数据耗时,需要跑完onCreate和onResume才会显示界面.2 闪黑屏的原因主要是我们启动Activi ...

  7. 解决Android 模拟机开机黑屏问题、npm内存溢出问题

    Android模拟机开机黑屏,试试Android Studio中顶部菜单栏中File中的Settings,Settings里搜Android SDK,找到其中的SDK Tools,勾选最高版本,点击下 ...

  8. 【转】Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23)

    [转]Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23) 转载▼ 这个必须转,这才是高手,解决官方都解决不好的问题! 原文地址,以下为转贴内容: 使用说明 ***** ...

  9. 为什么计算机的管理调不出来的,技术员给你windows10黑屏系统调不出任务管理器的解决步骤教程...

    大家在操作电脑时一定会遇到很多问题,比如说windows10黑屏系统调不出任务管理器的解决步骤教程就是我们经常会遇到的,小编及身边的朋友也遇到过windows10黑屏系统调不出任务管理器的解决步骤教程 ...

最新文章

  1. 数据治理(Data Governance)
  2. 8个概念告诉你人工智能
  3. python语言入门pdf-Python编程从入门到精通.pdf
  4. UVa 10118 记忆化搜索 Free Candies
  5. 使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试
  6. 2020 OPPO开发者大会:融合共创 打造多终端、跨场景的智能化生活
  7. Python、Java 在线笔试
  8. mysql 书名_深入理解MySQL
  9. android 人脸特征提取方法,qs_face_points_android
  10. cmd 查找文件路径
  11. 网站SEO的七个技巧
  12. ​Spring Cloud:统一异常处理
  13. 考试行测常识判断法律知识备考误区提示
  14. 数据库管理工具哪个好?强力推荐Navicat Premium 16 mac中文版
  15. 相比传统监控,智慧门店的摄像机有多“能干”
  16. KUKA youbot机械臂与Moveit工具包(2)
  17. 孙鑫java高清完整版(课件+视频)_孙鑫Java高清完整版(课件+视频) - 程序语言 - 小木虫 - 学术 科研 互动社区...
  18. 《图数据库》——第 1 章 简介
  19. 完全解读:用最小二乘法求模型参数
  20. BUUCTF-Crypto学习笔记(二)

热门文章

  1. 如何查看github趋势榜
  2. [转]强悍的跨平台开源多媒体中心XBMC介绍
  3. springmvcHandlerMapping解析_晏无心_新浪博客
  4. 如何利用js加密防止xss注入
  5. 窗函数 数字信号处理
  6. 畅享8K高清,三星电视将搭载HDMI2.1接口
  7. Java面试题:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等,仅供参考
  8. Redis+Caffeine两级缓存
  9. 互联网摸鱼日报(2023-03-09)
  10. 思一独角兽 | 你对金融科技之都、花园城市新加坡的了解有多少?