美文网首页
adb常用命令

adb常用命令

作者: CQ_TYL | 来源:发表于2023-01-30 16:32 被阅读0次
    1. 四大组件相关

    只查看当前Activity的包名(可能有多个)

    adb shell dumpsys activity top | grep ACTIVITY

    查看Activity详细信息

    adb shell dumpsys activity top

    也可以将输出重定向到文件中,下述命令会打印出所有应用的四大组件

    adb shell dumpsys > info.txt

    查看Activity任务栈

    adb shell dumpsys activity activities

    查看后台Service信息

    adb shell service list

    查看指定报名的数据库存储信息(包括存储的SQL语句,查看应用操作数据库信息)

    adb shell dumpsys dbinfo 包名

    1. 操作相关

    adb shell am force-stop 包名 # 强制关闭一个应用程序
    adb shell input tap x y # 点击坐标点
    adb shell input keyevent 82(keycode) # 发送按键
    adb shell input text XXXX # 输入文本

    截屏

    adb shell screencap -p /sdcard/screen.png
    adb pull /sdcard/screen.png
    adb shell rm /sdcard/screen.png

    录屏

    adb shell screenrecord # 默认录制时间为180s
    adb shell screenrecord --time-limit 10 /sdcard/demo.mp4 # 限制时间为10s及输出路径
    adb shell screenrecord --size 1280*720 /sdcard/demo.mp4 # 指定分辨率
    adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4 # 指定比特率
    adb shell screenrecord --verbose /sdcard/demo.mp4 # 在命令显示日志

    拉取设备中的文件到本地(如遇权限问题,用chmod改一下权限即可)

    adb pull

    推送文件到设备中

    adb push

    设备的端口转发(IDA中调试很常用)

    adb forward 远程端协议:端口号 设备端协议:端口号

    查看设备中可以被调试的应用的进程号

    adb jdwp

    === 进adb shell才可以执行 ===

    查看进程信息

    ps | grep 过滤内容
    ps -t 进程id

    清空用户数据,安装,卸载

    pm clear 包名
    pm install apk文件
    pm uninstall 包名

    启动应用,服务,发送广播

    am start -n 包名/包名.Activity名
    am startservice -n 包名/包名.Service名
    am broadcast -a 广播动作

    查看设备ip地址

    netcfg

    查看设备端口号

    netstat

    运行Java代码

    app_process 运行目录 运行主类

    运行一个dex文件

    dalvikvm -cp dex文件 运行主类

    查看当前应用的CPU消耗信息

    top

    查看系统属性值

    getprop 属性名称

    1. 刷机相关

    adb reboot # 重启手机
    adb reboot bootloader # 重启到bootloader(刷机模式)
    adb reboot recovery # 重启到recovery(恢复模式)

    1. 安装包相关

    adb shell dumpsys package 包名 # 获取安装包信息
    aapt dump badging xxx.apk # 查看应用包名package和入口activity名
    dexdump xxx.dex # 查看一个dex文件的详细信息
    adb install -r <apkfile> # 覆盖安装(保留数据域缓存文件,重新安装apk)
    adb install -s <apkfile> # 安装apk到sd卡
    adb install -d <apkfile> # 无视版本号安装
    adb uninstall -k <package> # 卸载app(保留数据与缓存文件)
    adb shell pm list packages # 查看所有安装app的包名

    1. 设备信息

    adb shell cat /system/build.prop # 设备信息
    adb shell getprop [key] [value] # 设置/获取属性信息
    adb shell dumpsys window displays # 设备分辨率
    adb shell cat /sys/class/net/wlan0/address # MAC地址
    adb shell dumpsys account # 账号信息
    adb shell dumpsys cpuinfo # CPU信息
    adb shell cat /proc/cpuinfo # CPU序列号
    adb shell dumpsys wifi # Wifi信息
    adb shell dumpsys SurfaceFlinger # UI绘制的各个层级信息
    adb shell dumpsys window # 键盘,窗口和它们的关系
    adb shell dumpsys usagestats # 每个应用的启动次数与时间
    adb shell dumpsys statusbar # 状态栏相关的信息
    adb shell dumpsys meminfo # 内存信息
    adb shell dumpsys diskstats # 磁盘信息
    adb shell dumpsys battery # 电池信息
    adb shell dumpsys batterystats # 统计系统耗电量
    adb shell dumpsys alarm # Alarm

    1. 日志相关

    清除log缓存

    adb logcat -c

    查看过滤日志,每条日志都有一个标记和优先级与之关联

    标记:简短字符串,标识原始信息来源

    优先级:V-明细、D-调试、I-信息、W-警告、E-错误、F-严重错误

    adb logcat ActivityManager:I *:S

    其他元数据字段

    brief — 显示优先级/标记和原始进程的PID (默认格式)

    process — 仅显示进程PID

    tag — 仅显示优先级/标记

    thread — 仅显示进程:线程和优先级/标记

    raw — 显示原始的日志信息,没有其他的元数据字段

    time — 显示日期,调用时间,优先级/标记,PID

    long —显示所有的元数据字段并且用空行分隔消息内容

    adb logcat -v thread

    指定循环缓冲区

    radio — 查看包含在无线/电话相关的缓冲区消息

    events — 查看事件相关的消息

    main — 查看主缓冲区 (默认缓冲区)

    adb logcat -b radio

    打印系统事件的日志,如触屏

    adb logcat -b events -v time

    导出ANR日志

    adb pull data/anr/traces.txt # 老版本Android
    adb bugreport # 高版本用(老版本导出出现 → adb: error: failed to stat remote object)

    1. 其他

    adb shell cat /proc/iomem # 查看wifi密码(要root权限)
    adb shell dumpsys activity|grep oom_adj # 设置线程的优先级
    adb shell cat proc/pid/maps # 指定进程内存地址映射
    adb shell cat proc/pid/smaps # 指定进程内存详细使用信息
    adb shell procrank # VSS. RSS. PSS. USS 信息
    adb shell procmem pid # 指定进程VSS. RSS. PSS. USS 详细信息
    adb shell getevent -p # 查看可输入的设备
    adb shell getevent /dev/input/event0 # 获得特定设备的输入信息
    adb shell ps | findstr mobileqq # 查看报名中包含mobileqq的进程
    adb get-serialno # 获取序列号
    adb shell top # CPU和内存占用情况
    adb shell top -m 6 # 占用内存前6的APP
    adb shell top -n 1 # 刷新一次内存信息,然后返回
    adb shell procrank # 各进程内存使用情况
    adb shell ps -x [PID] # 指定进程状态
    adb shell cat /proc/iomem # 查看IO内存分区

    相关文章

      网友评论

          本文标题:adb常用命令

          本文链接:https://www.haomeiwen.com/subject/vrgmhdtx.html