ADB命令笔记

1. 应用相关

1.1 APK安装

在这里插入图片描述

1.2 查看所有包名

adb shell pm list packages
adb shell pm list packages -f (包括路径)

1.3获取包名对应的APK路径

adb shell pm path packageName

1.4 dumpsys

强大的dump工具, 可以输出很多系统信息. 例如window, activity, task/back stack信息, wifi信息等。
常用dumpsys:

指令说明备注细分参数
activity输出app组件相关信息还可以用细分参数获得单项内容activites, service, providers, intents, broadcasts, processes
meminfo输出每个App的内存使用和系统内存状态可以指定包名, 例如adb shell dumpsys meminfo com.anly.githubapp/
window输出当前窗口相关信息/policy, animator, tokens, windows
alarm输出当前系统的alarm信息//
cpuinfo输出当前的CPU使用情况//
diskstats输出当前的磁盘使用状态//
batterystats电池使用信息//
packagepackage相关信息, 相当于pm功能的集合输出诸如libs, features, packages等信息/

例子:

adb shell dumpsys activity

查看当前resume的是哪一个activity:
adb shell dumpsys activity | grep mFocusedActivity

1.4 查看当前上焦点应用的信息

adb shell dumpsys window | findstr mCurrentFocus

2 内存

2.1 抓取hprof文件

adb shell am dumpheap [PROCESS] [FILE-NAME]

eg: adb shell am dumpheap com.starcor.hunan /data/anr/12.hprof

2.2查看设备分配给应用的最大内存

adb shell getprop dalvik.vm.heapsize
应用正常获取到的最大堆内存大小

adb shell getprop dalvik.vm.heapstartsize

adb shell getprop dalvik.vm.heapgrowthlimit
应用申请了largeheap获取到的最大堆内存大小

2.3查看Java进程内存排行

adb shell procrank

dumpsys meminfo可以查看native进程和java进程,而procrank只能查看java进程

2.4查看RAM使用

adb shell cat /proc/meminfo

3模拟事件

3.1 按键

adb shell input keyevent <keycode>

3.2 输入

adb shell input text 字符串

**注意:**不支持中文

3.3 鼠标点击

adb shell input tap X Y

鼠标滑动

adb shell input swipe X1 Y1 X2 Y2

4 设备

4.1 截屏

adb shell screencap -p /sdcard/screencap.png

4.2 设置手机IMEI/IMSI/手机号/SIM卡序列号

adb shell setprop persist.nox.modem.imei 352462010682470
adb shell setprop persist.nox.modem.imsi 460000000000000
adb shell setprop persist.nox.modem.phonumber 15605569000
adb shell setprop persist.nox.modem.serial 89860000000000000000

4.3 查看设备信息

adb shell getprop ro.product.model
    
模糊查找:
adb shell getprop | grep product

也可以直接查找 /system/build.prop 文件

4.4 修改mac地址

setprop persist.nox.wifimac xxx                       修改mac地址
setprop persist.nox.modem.phonumber 138111111111      手机号,生成一个随机11位数字
setprop persist.nox.model ABC001                      手机型号,英文加数字随机
setprop persist.nox.manufacturer XiaoMi               手机制造商英文随机
setprop persist.nox.brand Mi                          手机品牌英文随机

5. 常见问题处理

端口异常

  • 报错信息:
    Unable to start adb server: error: protocol fault (couldn't read status): Connection reset by peer
  • 问题原因:
    大多数情况是5037端口被占用。5037为adb默认端口。
  • 解决办法:
    查看哪个程序占用了adb端口,结束这个程序,然后重启adb就可以了。
    使用命令:netstat -aon|findstr "5037" 找到占用5037端口的进程PID。
    在这里插入图片描述
    使用命令:tasklist|findstr “5440” 通过PID找出进程。
    在这里插入图片描述
    结束此进程,再通过adb start-server 启动adb就行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值