adb常用指令

摘要字google的《Android 操作系统文档》 地址:https://source.android.google.cn/docs/
  • 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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
2 条回复 A文章作者 M管理员
  1. 有用

  2. 清颜

    有用😁