adb命令
引言
本文为小编学习总结的一些adb的常用命令,可能一些命令有待验证,更多内容可以参考adb用法大全
基本用法
语法命令
adb 命令的基本语法如下:
adb [ -d| -e| -s
如果只有一个设备/模拟器连接时,可以省略掉[ -d| -e| -s]
为命令指定目标设备
如果有多个设备/模拟器,则需要为命令指定目标设备
参数 | 含义 |
---|---|
-d | 指定当前唯一通过 USB 连接的 Android 设备为命令目标 |
-e | 指定当前唯一运行的模拟器为目标命令 |
-s |
指定相应 serialNumber 号的设备/模拟器为命令目标 |
常用adb命令
查看adb版本号
adb version
查看已连接设备
adb devices
查看手机序列号
adb get-serialno
如返回127.0.0.1:7555
查看日志
adb logcat
adb logcat -c 清除日志
adb logcat | grep “tag” 过滤日志 这里的tag就是你打印日志的时候需要设置的第一个参数TAG,通过TAG我们可以很轻松的过滤出我们想要的日志,轻松高效。
安装apk
adb install [apk文件的路径]
adb install douyin.apk
- 多个设备安装apk
adb -s [设备号] install [apk文件的路径]adb -s 127.0.0.1:7555 install douyin.apk
- 如果apk已经存在,需要覆盖安装
- adb install -r [apk文件的路径]
adb install -r douyin.apk
adb install后面可以跟一些可选参数来控制安装APK的行为,可选参数及含义如下
参数 | 含义 |
---|---|
-l | 将应用安装到保护目录 /mnt/asec |
-r | 允许覆盖安装 |
-t | 允许安装AndroidMainfest.xml里application指定android:testOnly="true" 的应用 |
-s | 应用安装到sdcard |
-d | 允许降级覆盖安装 |
-g | 授予所有运行时权限 |
–abi abi-identifier | 为特定ABI强制安装apk,abi-identifier可以是armeabi-v7a、arm64-v8a、v86、x86_64 等 |
卸载apk
- 普通卸载
- adb uninstall [apk文件的路径]
adb uninstall douyin.apk
- 卸载但是保留数据
- adb uninstall -k [apk文件的路径]
adb uninstall -k douyin.apk
获取手机root权限
adb root
连接不稳定时需要挂载
adb remount
重启手机
- 正常重启
adb reboot - 重启手机到recovery
adb reboot recovery - 重启到bootloader界面
adb reboot bootloader
关闭adb服务
adb kill -server
启动adb服务
adb start -server
查看手机设备型号
adb shell getprop ro.product.model
如返回MI 8
查看设备的Android版本
adb shell getprop ro.build.version.release
获取手机厂商名称
adb shell getprop ro.product.brand
如返回Xiaomi
获取手机SDK版本
adb shell getprop ro.build.version.sdk
查看手机分辨率
adb shell wm size
查看屏幕密度
adb shell wm density
修改屏幕密度
adb shell wm density 160
恢复原屏幕密度
adb shell wm density reset
查看手机的mac地址
adb shell cat /sys/class/net/wlan0/address
查看电池信息
adb shell dumpsys battery
查看进程
adb shell ps
查看CPU使用情况
adb shell top
CPU信息
adb shell cat /proc/cpuinfo
内存信息
adb shell cat /proc/meminfo
查看手机上所有安装的app包名
adb shell pm list packages
adb shell pm list packages -s 查看所有系统app的包名
adb shell pm list packages -3 查看所有第三方app的包名
adb shell pm list packages | grep [包名] 使用grep筛选所有满足要求的app包名
清除应用数据
adb shell pm clear [
当你只是想要清除一个apk的某些数据来复现某些操作的时候,这个命令就显得额外重要。它可以避免我们重装apk来完成这个操作。
获取某个应用包名的启动入口
- adb shell dumpsys package com.ss.android.ugc.aweme|findstr activity
- com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity 这个就是抖音的入口
adb shell dumpsys package com.ss.android29111 com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity
屏幕截屏
adb shell screencap [保存路径]
adb shell screencap /sdcard/screen.png
录制视频
adb shell screenrecord [保存路径]
也可以使用(adb版本太老的话,需要更新adb)
adb exec-out screencap > sc.png |
上传文件到手机
adb push [电脑文件路径] [手机文件保存路径]
adb push douyin.apk sdcard/douyin.apk
从手机端下载文件
adb pull [手机上文件路径]
注意:此时没有指定上传到电脑的路径,会默认上传到adb程序所在的路径
adb pull sdcard/douyin.apk
指定上传路径:adb pull [手机上文件的路径] [电脑文件的路径]
adb pull /storage/emulated/0/app/txt.mp4 D:/ADB/tet.mp4
模拟屏幕点击事件
adb shell input tap x坐标轴 y坐标轴
adb shell input tap 500 1450
模拟手势滑动事件
adb shell input swipe 开始x轴 开始y轴 结束x轴 结束y轴 过程持续时间
adb shell input swipe 100 500 100 1450 100
模拟点击键盘按钮
adb shell input keyevent [key值]
adb shell input keyevent 25
一些常用的keyevent键值信息
keyevent | 效果 |
---|---|
3 | Home键 |
5 | 拨号键 |
6 | 挂机键 |
19 | 向上 |
20 | 向下 |
21 | 向左 |
22 | 向右 |
24 | 音量加 |
25 | 音量减 |
26 | 电源 |
27 | 拍照键 |
66 | 回车键 |
67 | 退格键 |
82 | 菜单键 |
83 | 通知键 |
84 | 搜索键 |
92 | 向上翻页 |
93 | 向下翻页 |
111 | esc键 |
112 | 删除键 |
115 | 大写锁定键 |
122 | 光标移动到开始键 |
123 | 光标移动到末尾键 |
143 | 小键盘锁 |
168 | 放大键 |
169 | 缩小键 |
向屏幕输入一些信息
- db shell input text [字符串信息]
- %s是空格
db shell input text “insert%stext%shere”
查看前台Activity
同时小编也是通过这种方式获取到应用包的入口
adb shell dumpsys activity activities | findstr mResumedActivity
获取到了QQ的启动入口
启动某个app
adb shell am start -n [包名]/[启动入口]
adb shel am start -n com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity
Strating:Intent{cmp=com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity}
启动qq
adb shell am start -n com.tencent.mobileqq/.activity.SplashActivity
启动有道词典
发送广播
adb shell am broadcast -a “broadcastactionfilter”
adb shell am broadcast -a “broadcastactionfilter”
使用自带浏览器打开网页
adb shell am start -a [浏览器包名] -d [网址]
adb shell am start -a “android.intent.action.VIEW” -d https://www.google.com
获取手机内部存储信息
adb shell df /data
关于ADB IDEA
AS插件ADB IDEA,装了这款插件可以直接在AS中快速操作一些ADB命令
使用方式
1、双击shift -> 点击action ->搜索adb
2、Ctrl + Shift + A,快捷键直接调用
一些琐碎小问题
不知应用包的入口Activity如何启动应用包
1.通过category
adb shell monkey -p <packagename> -c android.intent.category.LAUNCHER 1 |
adb shell input text无法响应中文输入的问题
adb shell input text不能输入中文的解决方案