-
adb start-server
启动ADB服务
-
adb kill-server
关闭ADB服务
-
adb devices
列出所有设备
-
adb connect 192.168.100.1:5555
connect 表示连接到设备
192.168.100.1:5555 表示设备地址(address)和端口号(dport) -
adb disconnect
断开所有连接
-
adb reboot
重启设备
-
adb reboot recovery
重启设备到Recovery
-
adb reboot bootloader
也就是常说的BL锁
-
adb shell wm size
size 表示获取当前设备屏幕的分辨率
-
adb shell wm size 1080×1920
size 1080×1920 表示设定屏幕分辨率为1080×1920
注意 : 1080×1920中的x,是字母x(艾克斯) -
adb shell wm size reset
size reset 表示重置当前设备的屏幕分辨率恢复到默认
-
adb shell wm density
wm density 表示获取当前屏幕密度
-
adb shell wm density 300
wm density 300 表示设置当前设备屏幕密度为300
-
adb shell wm density reset
wm density reset 表示重置当前设备的屏幕密度恢复到默认
-
adb shell
进入shell模式
-
exit
退出shell模式
-
su
切换到Root用户
-
adb -s emulator-5554 shell
-s 表示指定某个设备
emulator-5554 表示设备名称 -
ls
列出当前目录下的所有可见文件及文件夹
-
ls -a
列出当前目录下的所有文件和文件夹(包括隐藏的文件/文件夹,其中-a表示的意义是all,所有全部)
-
ls -l dir
列出指定目录的文件/文件夹属性
-
clear
清空历史记录
-
cd dir
进入到指定目录
-
cd ..或者 cd ../../..
返回上一级目录或者多级目录
-
cd a;cd b;cd c;cd d
同时执行多个命令,用英文分号”;”隔开
-
adb install -g -r .\easyclick.apk
install 表示安装
-g 表示赋予所有权限
-r 表示覆盖安装
.\wechat.apk 表示需要安装的apk路径支持相对和绝对路径 -
adb shell pm list package -3
pm 表示Package Manager(包管理器)
list 表示列表,列出
package 表示包
-3 表示第三方应用(即用户自行安装的应用)
-s 表示系统应用
-3可省,列出设备所有包名 -
adb shell pm path com.gibb.easyclick
pm 表示Package Manager(包管理器)
path 表示安装路径
com.gibb.easyclick 表示包名,此指令的执行结果,即显示出微信安装包所在的位置路径 -
adb shell pm clear com.gibb.easyclick
pm 表示Package Manager(包管理器)
clear 表示清空
com.gibb.easyclick 表示包名,此指令的执行结果,即清空微信所有数据,恢复到第一次安装的状态
此指令等同于清空应用详情界面中的存储(Storage)-数据(Data) -
adb shell dumpsys window
dumpsys window 表示将当前界面转存成静态文件
-
adb shell dumpsys window|findStr mCurrentFocus
dumpsys window 表示将当前界面转存成静态文件
findStr mCurrentFocus 表示查找属性
获取当前界面的PackageName(包名)和ActivityName(活动名) -
adb shell pm uninstall com.gibb.easyclick
pm 表示Package Manager(包管理器)
uninstall 表示反向安装,即卸载
com.gibb.easyclick 表示需要卸载的包名,此指令的执行结果,即卸载微信 -
adb shell pm uninstall –user 0 com.gibb.easyclick
pm 表示Package Manager(包管理器)
uninstall 表示反向安装,即卸载
–user 0 表示管理员权限
com.gibb.easyclick 表示需要卸载的包名
此指令可以卸载大部分系统自带的应用,适用于强迫症,极端完美主义玩家.需要谨慎使用,卸载后尽量不要关机或者重启设备,否则可能会出现无法开机的情况.或者开机时间很长很长(其实就是系统发现缺少了自带应用,努力恢复的一个过程),有变砖的可能性 -
adb shell am force-stop com.gibb.easyclick
am 表示Activity Manager(活动管理器)
force-stop 表示强制停止
com.gibb.easyclick 表示需要强制停止的包名
此指令等同于应用详情界面中的强制停止 -
adb shell monkey -p com.gibb.easyclick 1
monkey 表示压力测试
-p 表示指定包名
com.gibb.easyclick 表示需要测试的包名
1 表示时间,单位毫秒
大部分情况用来启动某个已知包名的应用,参考来源于Stack Overflow -
adb shell mkdir test
mkdir 表示创建文件夹
test 表示创建新文件夹的名称 -
adb shell touch test.txt
touch 表示创建新文件,替代方案cat >test.txt
test.txt 表示创建新文件的名称 -
adb shell cat test.txt
cat 表示打开文件
test.txt 表示要打开的文件 -
adb shell cat >test.txt
创建一个test.txt的文件,并输入内容,ctrl+d退出编辑,enter结束操作如果test.txt存在,之前的内容会被覆盖
-
adb shell cat >>test.txt
编辑test.txt文件,追加内容,ctrl+d退出编辑,enter结束操作如果test.txt不存在,会自动创建
-
ctrl+d
退出编辑模式
-
adb shell cp /sdcard/1.txt /sdcard/Pictures/1.txt
cp 表示复制
/sdcard/1.txt 表示原路径位置
/sdcard/Pictures/1.txt 表示移动后的路径位置,支持重命名 -
adb shell mv /sdcard/1.txt /sdcard/Pictures/1.txt
mv 表示移动
/sdcard/1.txt 表示原路径位置
/sdcard/Pictures/1.txt 表示移动后的路径位置,支持重命名 -
adb shell rename oldf.txt newf.txt
rename 表示重命名
oldf.txt 表示原名称
newf.txt 表示修改后的名称,重命名 -
adb shell rm test.txt
rm 表示删除文件
test.txt 表示需要删除的文件 -
adb shell rmdir test
rmdir 表示删除文件夹
test 表示需要删除的文件夹
需要注意的是,当文件夹test中包含其他文件或文件夹的时候,会删除失败 -
adb shell rm -r test
rm 表示删除
-r 表示递归到其子目录
test 表示需要删除的文件夹
该方法会删除整个test文件夹,包括其子目录中,请谨慎操作 -
adb shell find -name uiauto*
find 表示查找匹配
-name 表示名称区分大小写
uiauto* 表示匹配规则,其中*表示匹配任意数量的任意字符 -
adb shell find -iname pictures
find 表示查找匹配
-iname 表示不区分大小写
pictures 表示需要查找的名称 -
adb shell find -name [ASP]ictures
find 表示查找匹配
-name 表示名称区分大小写
[ASP]ictures 表示匹配规则,会匹配Aictures和Sictures还有Pictures -
adb shell input keyevent 3
input 表示输入模式
keyevent 表示模拟按键
3 表示三大金刚中的主页Home,对应KeyCode码表 -
adb shell input keyevent 4
input 表示输入模式
keyevent 表示模拟按键
4 表示三大金刚中的返回Back,对应KeyCode码表 -
adb shell input keyevent 26
input 表示输入模式
keyevent 表示模拟按键
26 表示电源Power,对应KeyCode码表 -
adb shell input keyevent 82
input 表示输入模式
keyevent 表示模拟按键
82 表示三大金刚中的菜单Menu,对应KeyCode码表 -
adb shell input text 1234qwer
input 表示输入模式
text 表示输入字符/字符串
1234qwer 表示需要输入的字符/字符串
注意 : 因为编码的原因,故不支持输入中文 -
adb shell ime扩展一下(对于编码和极端输入有用)
主要关注list和set,enable和disable仅作了解就行
-
ADB编码问题解决方案
方案参考:查看ADBKeyboard
-
adb shell am broadcast -a ADB_INPUT_TEXT –es msg ‘你好世界’
ADBKeyboard解决输入中文的编码问题
-
adb shell am broadcast -a ADB_CLEAR_TEXT
清空输入的文本
-
adb shell input tap x y
input 表示输入模式
tap 表示点击
x 表示需要点击的位置横坐标
y 表示需要点击的位置纵坐标 -
adb shell input swipe x1 y1 x2 y2
input 表示输入模式
swipe 表示滑动
x1 表示起始位置的横坐标
y1 表示起始位置的纵坐标
x2 表示终点位置的横坐标
y2 表示重点位置的纵坐标 -
adb shell screencap /sdcard/Pictures/now.png
screencap 表示截图
/sdcard/Pictures/now.png 表示截图保存的位置 -
adb shell ps
ps 表示列出当前所有任务(包括name和pid)
-
adb shell kill pid
kill 表示杀死进程/服务
pid 表示任务的pid属性 -
adb shell /system/bin/uiautomator dump /sdcard/now.xml
/system/bin/uiautomator 表示执行uiautomator
dump 表示将当前界面转存为静态文件
/sdcard/now.xml 转存位置
/system/bin/目录下为指令集合,亦可简写为adb shell uiautomator dump /sdcard/now.xml -
adb push .\1.txt /sdcard/1.txt
push 表示将PC端的指定文件推送到移动端
.\1.txt 表示文件在PC端的位置,一般都是用相对路径
/sdcard/1.txt 表示文件推送到移动端保存的位置
多个设备同时在线需要指定设备名称,如adb -s emulator-5554 push .\1.txt /sdcard/1.txt -
adb pull /sdcard/1.txt .\1.txt
pull 表示拉取移动端文件到PC端
/sdcard/1.txt 表示文件在移动端的位置
.\1.txt 表示拉取到PC端保存的位置
push和pull对应,记忆方法:pull中有两个L,可以联想到汉语中la,相反另外一个则为推送 -
adb remount
remount 表示挂载为可读写
常用于Permission Denied(权限不足)的问题,优先考虑挂载,挂载失败再考虑chmod提权 -
adb shell chmod -R 777 path
chmod 表示提权
-R 表示提权递归到该目录的子目录,注意大写
777 表示权限级别
path 表示需要提权的目录 -
设备代理模式激活方式1
推送设备对应的二进制文件,adb push newagent-x86 /data/local/tmp/agent
cd到tmp,chmod -R 777 agent//提权
执行adb shell /data/local/tmp/agent -mode=runagent -dport=19901,19902,19903 –password=123 -
设备代理模式激活方式2
路径提权,adb remount//remount succeeded
推送二进制文件到system目录 adb push newagent-x86 /system/bin/agent//直接推送会报错,但并不影响激活效果
执行二进制文件 adb shell /system/bin/agent -mode=runagent -dport=19901,19902,19903 –password=123 -
设备代理模式激活方式3
exe程序批量激活
-
激活结果验证
查询指定端口号19901,19902,19903是否存在通讯 adb shell netstat -ant
adb常用指令
摘要字google的《Android 操作系统文档》
地址:https://source.android.google.cn/docs/
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
有用
有用😁