1. 下载adb
http://adbshell.com/upload/adb.zip
配置环境变量, 将adb的文件夹路径加入到系统环境变量的path中即可
2. 基本命令
官方教程: https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn
个人教程参考: https://gitcode.net/mirrors/mzlogin/awesome-adb
https://www.cnblogs.com/hyf20131113/p/10919586.html
3. 操作手机
- 查找手机
adb devices
查看已经连接到电脑的手机
adb wait-for-device
让adb一直查找安卓设备,找到后才停止
- 锁定/解锁/重启/关机
adb shell input keyevent 26
锁定手机
adb shell input keyevent 82
点亮屏幕或在已点亮屏幕时解锁手机(如果设置了密码,会提示输入密码)
adb shell input text 123456 && adb shell input keyevent 66
输入密码,并回车
adb reboot
重启
adb shell reoot
重启
adb shell reboot -p
关机
- 查看手机屏幕尺寸
adb shell dumpsys window displays
打印屏幕详细信息
adb shell wm size
打印屏幕简略信息
adb shell wm density
查看屏幕分辨率
adb shell wm density 240
设置屏幕分辨率(立即生效)
adb shell wm size reset
恢复原屏幕分辨率
-4. 系统设置
adb shell service call bluetooth_manager 6
打开蓝牙
adb shell service call bluetooth_manager 9
关闭蓝牙
adb shell svc wifi enable
打开wifi
adb shell svc wifi disable
关闭wifi
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
打开wifi设置界面
adb shell svc power stayon [true|false|usb|ac|wireless]
[]括号中选一个,true: 任何情况下均保持亮屏 false:任何情况下均不保持亮屏(经过设定的时间后自动黑屏) usb, ac, wireless:设置其中之一时,仅在这一种情况下才保持亮屏。
adb shell getprop ro.product.model
查看型号
adb shell dumpsys battery
电池状况
adb shell settings get secure android_id
android_id
adb shell getprop ro.build.version.release
android系统版本
adb shell ifconfig wlan0
wifi网络信息
adb shell netcfg
查看网络连接状态
adb shell cat /proc/cpuinfo
CPU信息
adb shell cat /proc/meminfo
内存信息
adb shell settings put global adb_enabled 0
关闭 USB 调试模式
adb shell ps
查看进程
adb shell top
查看实时资源占用情况
-5. 模拟本机操作
更多按键代码看这里
adb shell input keyevent 111
关闭软键盘(其实是按下ESC,111=KEYCODE_ESCAPE)
adb shell input touchscreen swipe 930 880 930 380
向上滑,模拟滑动触屏
adb shell input touchscreen swipe 930 880 330 880
向左滑,模拟滑动触屏
adb shell input touchscreen swipe 330 880 930 880
向右滑,模拟滑动触屏
adb shell input touchscreen swipe 930 380 930 880
向下滑,模拟滑动触屏
adb shell input mouse tap 100 500
模拟鼠标操作(屏幕坐标, 原点在屏幕左上角)
adb shell input keyevent 26
#电源键
adb shell input keyevent 82
#菜单键
adb shell input keyevent 3
#HOME 键
adb shell input keyevent 4
#返回键
adb shell input keyevent 24
#增加音量
adb shell input keyevent 25
#降低音量
adb shell input keyevent 164
#静音
adb shell input keyevent 85
#播放/暂停
adb shell input keyevent 86
#停止播放
adb shell input keyevent 87
#播放下一首
adb shell input keyevent 88
#播放上一首
adb shell input keyevent 126
#恢复播放
adb shell input keyevent 127
#暂停播放
adb shell input keyevent 224
#点亮屏幕
adb shell input keyevent 223
#熄灭屏幕
adb shell input swipe 300 1000 300 500
#滑动解锁,向上滑动手势解锁
adb shell input text hello
#焦点处于某文本框时输入文本
- 运行程序
adb shell dumpsys window w |findstr \/ |findstr name=
查看已打开app的包名
adb shell am start -a android.intent.action.CALL -d tel:10010
拨打电话
adb shell am start -a android.intent.action.VIEW -d http://google.com
打开网站
adb shell am start -n com.package.name/com.package.name.MainActivity
启动APP
adb shell am start -n com.package.name/.MainActivity
启动APP
adb shell monkey -p com.android.contacts -c android.intent.category.LAUNCHER 1 Events injected: 1
启动APP
adb shell am start -n cn.xuexi.android/com.alibaba.android.rimet.biz.SplashActivity
打开学习强国
adb shell am start -n com.tencent.mm/.ui.LauncherUI
打开微信
adb shell am force-stop cn.xuexi.android
关闭学习强国
adb shell am force-stop com.tencent.mm
关闭微信
adb shell dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'
查看当前活跃的应用及页面地址
- 硬件高级调节
adb get-serialno
查看设备序列号
adb shell ls sys/class/thermal/
查看温度区域列表
adb shell cat /sys/class/thermal/thermal_zone0/temp
查看某个CPU温度
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
查看当前手机可用的governor
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
锁定CPU为最大频率
- 刷机
adb reboot recovery
恢复模式
adb reboot bootloader
adb reboot-bootloader
adb reboot boot loader
刷机模式。不同手机,命令不同,要试一下。
adb reboot fastboot
进入fastboot模式
- 调试
adb wait-for-device && adb shell logcat -v threadtime | tee mybootup.log
抓取开机日志
adb logcat
查看日志
adb kill-server
关闭adb服务进程
adb start-server
重启adb服务进程
adb push test.zip /sdcard/
从本地复制文件到设备
adb pull /adcard/adb.zip ./
从设备复制文件到本地
adb shell pm list packages
显示已经安装的APP的包名
adb install abc.apk
第一次安装,如果已存在,则报错
adb install -r abc.apk
如果已经安装过,保留原app数据
adb uninstall com.example.appname
卸载app
adb shell getevent -ltr
捕获键盘操作
``
- 截图
方式1:
adb exec-out screencap -p > img.png
在window中打开会报错, 原因是linux的换行符与windows不一致查看,
adb shell screencap -p | sed "s/\r$//" > img.png
windows下截图, 使用bash命令把换行符替换掉, 如果报sed错误, 可将Git的bin目录C:\Program Files\Git\usr\bin
添加到系统环境变量path中
方式2:
adb shell screencap -p /sdcard/img.png
截屏并保存到手机
adb pull /sdcard/img.png ./
拷贝文件到本地电脑
adb shell rm /sdcard/img.png
删除文件
方式3:
adb shell screencap -p /sdcard/img.png && adb pull /sdcard/img.png ./ && adb shell rm /sdcard/img.png
连起来也能达到截屏的目的
- 录屏
adb shell screenrecord /sdcard/filename.mp4
录屏
录屏 screenrecord 参数 含义
--size WIDTHxHEIGHT 视频的尺寸,比如 1280x720,默认是屏幕分辨率。
--bit-rate RATE 视频的比特率,默认是 4Mbps。
--time-limit TIME 录制时长,单位秒。
--verbose 输出更多信息。