Android ADB 常用使用指令

##ADB调试妙用:

1. 基本用法

   1.1 adb 等待设备连接:

   #adb wait-for-device

   eg://windows运行工具指令如下:

   识别并连接设备后输出devices信息

   #adb wait-for-device

   #adb devices

   1.2 重启adb

   #adb kill-server

   #adb start-server

   1.3 修改权限

   #adb root //获取root权限

   #adb disable-verity //关闭检测功能

   #adb remount //重新挂载system分区为可读可写

   1.4 文件处理

   #adb push xxx data/ //推送文件到 data/目录下

   #adb pull data/xxx //拉取 data/目录下的xxx文件

   #adb sync //同步数据

   #adb shell sync //同步数据

   1.5 安装卸载

   #adb install xxx.apk //安装名称为xxx的APP

   #adb uninstall com.xxx.app //卸载包名为com.xxx.app的APP

   1.6 重启

   #adb reboot

   #adb reboot bootloader //重启进入bootloader模式

   #adb reboot fastboot //重启进入fastboot模式

   #adb reboot recovery //重启进入recovery模式

   1.7 屏幕信息

   #adb shell wm size //查看屏幕分辨率

   #adb shell wm density //查看屏幕密度

   #adb shell wm density 320 //修改屏幕密度=320ppi

   #adb shell wm density reset //恢复原屏幕密度

2. Adb shell 调试

   2.1 dumpsys查看系统数据

   帮助文档:

   #adb shell dumpsys -h

   命令格式:

   #adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h]

   列出 dumpsys 支持的所有系统服务:

   #adb shell dumpsys -l

   获取当前APP窗口名/包名:

   #dumpsys window | grep mCurrentFocus //shell环境

   #adb shell dumpsys window | findstr mCurrentFocus //window下

   获取某个app package的activity栈:

   #dumpsys activity activities | grep com.android.mms | grep Hist

   #adb shell dumpsys activity activities | findStr com.android.mms | findStr Hist

   查看正在运行的应用/服务:

   #dumpsys activity | grep -i run

   #adb shell dumpsys activity | findStr -i run

   查看前台Activity:

   #adb shell dumpsys activity activities

   #adb shell dumpsys activity top

   查看某个APP包名的版本信息:

   #dumpsys package com.android.mms | grep version

   #adb shell dumpsys package com.android.mms | findStr version

   内存分析:

   #adb shell dumpsys meminfo

   #adb shell dumpsys meminfo [pid/pkg] //dump某个pid进程或者app的内存信息

   eg-> #adb shell dumpsys meminfo com.android.mms

   2.2 PM

   帮助文档:

   #adb shell pm -h

   列出所有包名:

   #adb shell pm list packages

   列出所有不可用的包名:

   #adb shell pm list packages -d

   列出所有可用的包名:

   #adb shell pm list packages -e

   列出系统所有包名:

   #adb shell pm list packages -s

   列出系统所有第三方包名:

   #adb shell pm list packages -3

   列出系统所有包名及对应的UID: (UID 是安装APK 时,系统赋予的,是不变的,除非卸载重装)

   #adb shell pm list packages -U

   查看包名和versionCode

   #adb shell pm list packages --show-versioncode

   过滤包名:

   #adb shell pm list packages -U [pkg]

   2.3 AM

   启动activity:

   #adb shell am start <package>/<activity>

   #eg: adb shell am start com.android.mms/com.android.mms.MainActivity

   触发内存级别回调

   adb shell am send-trim-memory [--user <USER_ID>] <PROCESS>

          [HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|RUNNING_CRITICAL|COMPLETE]

   #eg: adb shell am send-trim-memory com.android.mms RUNNING_LOW

   计算APP启动时间:

   #adb shell am start -W packagename/MainActivity

   总共返回了三个结果,我们以 WaitTime 为准

   Waittime = endTime - startTime

  • startTime记录的刚准备调用startActivityAndWait()的时间点
  • endTime记录的是startActivityAndWait()函数调用返回的时间点
  • WaitTime = startActivityAndWait()调用耗时。

3. Adb查看服务

   3.1 查看所有服务:

   #adb shell service list

   //dump service 数据

   #adb shell dumpsys activity services

   3.2 查看某个服务xxxx是否在运行

   #adb shell service list | grep xxxx

   #adb shell dumpsys activity services | grep xxxx

   3.2 使用pidof 指令查看app/service 运行情况,如果运行则返回pid num

   #adb shell pidof com.xxx.app

   #adb shell pidof com.xxx.service

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村里小码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值