常用调试命令

文章目录

    • 常用调试命令
  • 前言
    • 1、查看当前设备连接
    • 2、adb服务重启
    • 3、抓取log
    • 4、抓取驱动Kernel log
    • 5、查看当前启动的应用activity
    • 6、输入相关的keycode,模拟按键
    • 7、查看当前设备分辨率等
    • 8、启动activity
    • 9、发送广播
    • 10、系统settins,prop数据库
    • 11、系统应用调试
    • 12、adb shell dumpsys使用

前言

记录一下自己常用的adb 调试命令


Android开发少不了adb命令调试,熟练使用adb命令可以更方便对系统及应用进行调试分析

1、查看当前设备连接
adb devices
2、adb服务重启
adb kill-server
adb start-server
3、抓取log
抓取实时log,并输出到log.txt文件中
adb shell logcat >  log.txt
抓取开机log
adb wait-for-device && adb logcat > log.txt
抓取小部分log
adb logcat -d > log.txt

若是报找不到logcat相关命令,加上shell, adb shell logcat

4、抓取驱动Kernel log

在Android系统中,printk输出的日志信息保存在/proc/kmsg中,使用查看命令

 adb shell cat /proc/kmsg  | grep "alarm" //grep "alarm"表示只抓取alarm的信息或者:USER-NAME@MACHINE-NAME:~/Android$ adb shellroot@android:/ # cat  /proc/kmsg | grep "alarm" //grep "alarm"表示只抓取alarm的信息

输出保存到文件中

adb shell dmesg > demsg.txt
5、查看当前启动的应用activity
adb shell
logcat | grep "START u0"
或者
adb shell dumpsys activity activities  查看当前的ResumedActivity
6、输入相关的keycode,模拟按键
power按键
adb shell input keyevent 26home按键
adb shell input keyevent 3相对应的按键值可以通过查看KeyEvent.java
7、查看当前设备分辨率等
D:\>adb shell
bengal:/ $ wm size
Physical size: 480x800
bengal:/ $ wm density
Physical density: 240
手动修改系统分辨率及密度
bengal:/ $ wm size 720x1080
bengal:/ $ wm density 360
修改后查看
bengal:/ $ wm size
Physical size: 480x800
Override size: 720x1080
bengal:/ $ wm density
Physical density: 240
Override density: 360
还原系统默认设置
bengal:/ $ wm size reset
bengal:/ $ wm density reset
8、启动activity
 adb shell am start pkgname/activityname 或者通过action隐式启动启动浏览器 :am start -a android.intent.action.VIEW -d
9、发送广播
adb shell am broadcast [options] <INTENT>
作用:发送一个广播
举例:adb shell am broadcast -a "send_my_test_broadcast" (发送一个名叫send_my_test_broadcast的广播)
举例:adb shell am broadcast -a android.intent.action.MASTER_CLEAR(恢复出厂设置的方法,会清除内存所有内容)
举例:adb shell am broadcast -n com.application.test/.MyBroadcast
10、系统settins,prop数据库

获取手机的setting provider值

adb shell settings
Settings provider (settings) commands:helpPrint this help text.get [--user <USER_ID> | current] NAMESPACE KEYRetrieve the current value of KEY.put [--user <USER_ID> | current] NAMESPACE KEY VALUE [TAG] [default]Change the contents of KEY to VALUE.TAG to associate with the setting.{default} to set as the default, case-insensitive only for global/secure namespacedelete [--user <USER_ID> | current] NAMESPACE KEYDelete the entry for KEY.reset [--user <USER_ID> | current] NAMESPACE {PACKAGE_NAME | RESET_MODE}Reset the global/secure table for a package with mode.RESET_MODE is one of {untrusted_defaults, untrusted_clear, trusted_defaults}, case-insensitivelist [--user <USER_ID> | current] NAMESPACEPrint all defined keys.NAMESPACE is one of {system, secure, global}, case-insensitive

例如获取所有system保存的值

adb shell settings list system
accelerometer_rotation=0
dim_screen=1
dtmf_tone=1
dtmf_tone_type=0
end_button_behavior=2
font_scale=1.0
haptic_feedback_enabled=1
hearing_aid=0
hide_rotation_lock_toggle_for_accessibility=0
lockscreen_sounds_enabled=1
mode_ringer_streams_affected=422
mute_streams_affected=111
notification_light_pulse=1
notification_sound=content://media/internal/audio/media/138?title=Pixie%20Dust&canonical=1
notification_sound_set=1
pointer_speed=0
radio.data.stall.recovery.action=0
ringtone=content://media/internal/audio/media/88?title=Flutey%20Phone&canonical=1
ringtone_set=1
screen_brightness=102

单独获取及设置某个属性值

获取屏幕亮度值
D:\>adb shell settings get system screen_brightness
102设置屏幕亮度为160
D:\>adb shell settings put system screen_brightness 160system一般是需要系统权限,一般应用使用secure,global,可查看相对应保存的值

获取手机prop值

adb shell getprop
adb shell getprop "xxxxx" 获取"xxxxx"所保存的值adb shell setprop "vendor.test.value" 66  //设置prop "vendor.test.value"的值为66
11、系统应用调试

调试系统应用需要root设备

adb root
adb remountAndroid P,Q,R remount 失败需要先取消验证
go to setting -> system -> Developer options -> OEM unlocking
adb reboot bootloader
fastboot flashing unlock
press volume up key
fastboot reboot
adb root
adb disable-verity
adb reboot
adb root
adb remount

注意:AndroidR OTA升级需要在enable-verity状态下进行,adb disable-verity 后push apk后,再执行adb enable-verity会把还原系统,push的apk会被还原

替换应用

adb root
adb remount
adb push out\target\product\xxx\system\system_ext\priv-app\SearchLauncherQuickStep\SearchLauncherQuickStep.apk /system/system_ext/priv-app/SearchLauncherQuickStep有些可以push完后直接杀进程,有些需要重启,稳妥一些就是push完后adb reboot

查找应用进程号,并杀掉该进程

adb root
adb shell
bengal:/ $ ps -A |grep settings
system         4328    494 0 06:27:48 ?     00:00:13 com.android.settings
shell          9269   9266 1 09:40:52 pts/27 00:00:00 grep settings
bengal:/ $ kill 4328
12、adb shell dumpsys使用
查看系统服务信息
方法:
adb shell dumpsys -l
或者
adb shell service list详细说明
注:
adb shell dumpsys servicename -h代表此模块可以查哪些信息举例说明,adb shell service list | findstr activity
进入adb shell后,可以使用grepadb shell dumpsys activity activities----------查看Activity组件信息adb shell dumpsys activity services-----------查看Service组件信息adb shell dumpsys activity providers----------产看ContentProvider组件信息adb shell dumpsys activity broadcasts--------查看BraodcastReceiver信息adb shell dumpsys activity intents--------------查看Intent信息adb shell dumpsys activity processes---------查看进程信息

Android常用adb调试命令相关推荐

  1. Android 常用adb shell 命令

    原文地址http://blog.csdn.net/rain_butterfly/article/details/40894807 调试Android程序有时需要adb shell 命令,adb全称An ...

  2. Android蓝牙adb调试命令

    注意:此命令只适用于broadcom 系列蓝牙芯片,例如RK903, AP6xxx 系列1.第一种方式 # echo 1 > /sys/class/rfkill/rfkill0/state // ...

  3. Android常用adb shell命令

    1.显示应用版本信息 dumpsys package com.flyzebra.app | grep version 2.显示应用安装路径 pm path com.flyzebra.app 或者 pm ...

  4. 移动测试基础 Android 常用 adb 命令总结

    https://testerhome.com/topics/2565 Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb ...

  5. android 常用adb 和 adb shell 命令 获取root权限

    android 常用adb 和 adb shell 命令 ADB常用命令:   1. 查看设备 adb  devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会 ...

  6. 常用adb shell 命令

    常用adb shell命令: 1.按键事件           input text <string>   input a string to device          input ...

  7. Android无线adb调试连接助手

    Android无线adb调试连接助手 在日常Android开发中,一般都是通过USB线进行调试,是否经常会遇到以下几种问题: 电脑USB口不够用,或者USB口坏了用不了: 调试有些功能时需要把手机拿起 ...

  8. 【Linux】gdb常用的调试命令

    gdb 常用的调试命令 l 显示代码 b +行号 加断点 info break 显示断点信息 delete 删除断点 r 启动程序 n 单步执行,下一步 c 继续执行 s 进入函数 finish 跳出 ...

  9. linux常用调试,linux下gdb常用的调试命令

    用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法.接下来是小编为大家收集的linux下gdb常用的调试命令,希望能帮到大家. linux下gdb常用的调试命令 ...

最新文章

  1. android 模板方法模式,安卓设计模式(七)模板方法模式
  2. 人工智能:模型与算法 之 启发式搜索
  3. classin安卓手机安装条件_Classin在线学习平台安装指引——从这里打开知识的大门与北京四中网校名师面对面交流学习!...
  4. 一次群晖中勒索病毒后的应急响应
  5. HBase+Spark技术双周刊 第四期
  6. CLASS ALV Event
  7. TypeScript入门-枚举
  8. 测试集准确率不变_这个医疗AI准确率突破天际,招来了铺天盖地的质疑
  9. 开发工具篇 程序员计算器
  10. 云网资源如何搭乘「数字孪生」的快车道?
  11. ubuntu挂载移动硬盘时提示Unable to mount
  12. STM32开源代码——OLED汉字显示程序
  13. px4 Linux下环境的配置 gcc-arm装不上 OpenGL=3.1 问题
  14. 直播弹幕互动游戏如何开播?
  15. cocos2dx lua 3.14 适配 安卓 刘海屏 全面屏 异形屏
  16. matlab函数:residue和residuez的用法
  17. 2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇
  18. 听力完全攻略-陈海泓(转)
  19. 单项目多JDBC驱动版本加载
  20. 语音识别(SR)的秘密

热门文章

  1. vue 页脚_vue js打印并去掉页眉和页脚
  2. python2.0迅雷下载_Walle|Walle(开源部署工具)下载v2.0.0官方版 - 欧普软件下载
  3. js手机号码、电话号码正则表达式
  4. C++解析EIT表中的P-F信息
  5. 热血江湖按键精灵游戏脚本!
  6. 自定义注解(三)支付渠道:消除if-策略模式+工厂模式+单例模式
  7. 什么是css选择器?css3中5种常见的基本选择器-web前端教程
  8. java银联接口代码_银联接口测试——详细(JAVA)
  9. 揭秘阿里区块链布局 全球专利榜第一不是吹的
  10. 浏览器限制文件上传的大小