安卓调试及抓log方法

安卓调试及抓log方法

抓log
  • logcat使用

    Android对日志分为mian的日志、system的日志、event的日志,kernel的日志,Radio的日志:[adb] logcat [] … [] …

    -b 指定要查看的日志缓冲区,可以是system,events ,radio,main。默认值是system和main

    -c 清除屏幕上的日志.

    • 抓取上层的日志:

      adb logcat-b system -b main -b events -b radio –v time >1.txt

    • 抓取crash

      logcat crash

    • 抓取system_server log

      logcat main | grep system_server

    • SELinux权限问题

      logcat | grep denied //查看被拒绝的服务

  • adb 使用

    抓取kernel的日志:

 adb shell cat /proc/kmsg > .\kmsg.log	#读取log,但日志缓冲区读取的数据会不在被保留
 dmesg                     #不刷新缓冲区读取log
 cat /proc/kmsg | tee -i kmsg.log   #抓kernel log 保存到kmsg.log同时显示

抓取ANR的日志:

adb pull /data/anr/traces.txt D:\anr\ 
adb shell logcat -v time -f /dev/kmsg |
adb shell cat /proc/kmsg | tee kernel_logcat.txt

关闭所有seneor

 echo 0 > /persist/sensors/sensors_settings
  • 只读文件系统解决
    mount -o remount  /  重新挂载根分区

    mount -o remount, rw / 以读写的模式重新挂载 根分区

    mount -o remount, nosuid /  以不含suid的模式重新挂载根分区

    mount -o remount, system/ 重新挂载system分区
  • 如果需要push文件,需要
    adb remount

    adb push ……
  • 读取sensors info,上层通过uevent事件获取sensors信息
    sns_regedit_ssi -r

    getenvent event0   
  • 读取sensor信息

    dumpsys sensorservice ,查看sensor使用情况

  • 获取事件信息

    getevent

  • 重启systemserver
    adb shell kill -9 system_server

  • SElinux权限

    • ps -Z
    • ls -Z
  • service manger列表

    • dumpsys -l
  • 查询OOM_ADJ

    • dumpsys activity
  • 查看ADJ

    • cat sys/module/lowmemorykiller/parameters/adj
    • cat sys/module/lowmemorykiller/parameters/minfree
  • 内存使用情况

    • cat /proc/meminfo
  • 虚拟内存查看

    • cat /proc/pid/smaps
  • DOZE

    • 强制进入Doze模式
      dumpsys deviceidle force-idle
    • 启用Doze模式
      dumpsys deviceidle enable
    • 关闭Doze模式
      dumpsys deviceidle disable
    • 查看Doze模式白名单
      dumpsys deviceidle whitelist
  • jobschdule

  • 查看所有

    adb shell dumpsys jobscheduler

  • 挂后台log

    logcat -b kernel -f /sdcard/kernel.log -n 1024 -r 5 &

    logcat -b all -f /sdcard/all.log &

    logcat -b

  • 亮屏时间统计log

    • 高通平台电源键按下是绑定在PMIC上

      drivers/platform/msm/qpnp-power-on.c
      .....
      qpnp_pon_input_dispatch(struct qpnp_pon *pon,u32 pon_type){
         ....
         pr_debug("PMIC input: code=%d, sts=0x%hhx\n", cfg->key_code, pon_rt_sts);
         ....
      }
      
    • 关键log

      • PMIC input --> kernel log 电源键按下
      • PowerManagerService: Waking up from sleep (uid 10020)… --> main log 框架唤醒
      • DisplayPowerController: Blocking screen on until initial contents have been drawn. --> system log 绘制界面
      • power_screen_broadcast_send: 1 --> events log 发送亮屏广播
      • power_screen_broadcast_done: [1,206,1] --> events lof 亮屏广播发送完成
      • mdss_dsi_panel_bklt_dcs: level=255 --> kernel log 背光点亮
  • sm命令

    usage: sm list-disks [adoptable]
     sm list-volumes [public|private|emulated|all]
     sm has-adoptable
     sm get-primary-storage-uuid
     sm set-force-adoptable [on|off|default]
     sm set-virtual-disk [true|false]
     sm partition DISK [public|private|mixed] [ratio]
     sm mount VOLUME
     sm unmount VOLUME
     sm format VOLUME
     sm benchmark VOLUME
     sm idle-maint [run|abort]
     sm fstrim
    
     sm forget [UUID|all]
    
     sm set-emulate-fbe [true|false]
    
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android ADB(Android Debug Bridge)是一种用于在Android设备和计算机之间进行通信的工具。通过ADB,我们可以执行各种操作,包括取设备的日志(log)。 取Android设备的日志非常有用,尤其是当我们在开发或调试应用程序时。通过查看设备的日志,我们可以获取应用程序的运行状态、错误信息、系统事件等关键信息。 要取Android设备的日志,首先需要确保设备与计算机连接并且adb已经安装。然后,我们可以按照以下步骤进行操作: 1. 打开命令行界面(Windows用户可以按下Win键+R,输入cmd并点击确定); 2. 输入adb logcat命令并按下回车键; 3. 日志将开始显示在命令行界面中; 4. 可以使用一些选项来过滤日志,例如使用-i选项显示信息级别的日志,使用-f选项将日志保存到文件等; 5. 要停止取日志,可以按下Ctrl+C。 除了使用命令行界面,还可以使用一些图形界面工具来取设备的日志,例如Android Studio中的Logcat工具和DDMS(Dalvik调试监视服务)等。 无论是使用命令行界面还是图形界面工具,我们都可以根据需要过滤和查看特定标签、特定应用程序或特定级别的日志,并且可以导出日志并与其他人共享。 通过取设备的日志,我们可以更容易地分析和解决应用程序的问题,特别是在开发和调试阶段。因此,掌握ADB取日志的方法对于Android开发者来说是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值