zoukankan      html  css  js  c++  java
  • ADB 常用命令学习

    参考文档:https://www.cnblogs.com/bravesnail/articles/5850335.html
    非常感谢作者的分享,以下是我学习的记录。
    Android 常用adb 命令汇总
    ---------------------------------------------------
    运行在 Android 设备上的 adb 后台进程
    adb shell ps | findstr adbd

    通过 adb 来管理多台设备,其一般的格式为:
    adb [-e | -d | -s <设备序列号>] <子命令>
    adb devices , 获取设备列表及设备状态
    adb get-state , 获取设备的状态
        设备的状态有 3 钟,device , offline , unknown
    device:设备正常连接
    offline:连接出现异常,设备无响应
    unknown:没有连接设备
    db kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
    adb logcat , 打印 Android 的系统日志,ctrl+c 结束
    adb bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误
        输出比较多,建议重定向到一个文件中
    adb bugreport > d:ugreport.log
    adb install , 安装应用,覆盖安装是使用 -r 选项
    adb version
    adb uninstall , 卸载应用,后面跟的参数是应用的包名,请区别于 apk 文件名
        '-k' means keep the data and cache directories , -k 选项,卸载时保存数据和缓存目录
    adb pull , 将 Android 设备上的文件或者文件夹复制到本地
        例如复制 Sdcard 下的 pull.txt 文件到 D 盘:
        adb pull sdcard/pull.txt d:
        如果需要重命名为 rename.txt:
        adb pull sdcard/pull.txt d: ename.txt

    adb push , 推送本地文件至 Android 设备
        例如推送 D 盘下的 push.txt 至 Sdcard:
        adb push d:push.txt    sdcard/
        sdcard 后面的斜杠不能少,否则会出现下面的错误:
    adb reboot , 重启 Android 设备
        bootloader , 重启设备,进入 fastboot 模式,同 adb reboot-bootloader 命令
        recovery , 重启设备,进入 recovery 模式,经常刷机的同学比较熟悉这个模式

    adb forward , 将 宿主机上的某个端口重定向到设备的某个端口    
    -----------------------------------
    adb  shell
        简单点讲,adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下,
    下面介绍一些常用的 adb shell 命令
    pm
    Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息
    adb -s 设备号  shell 进行shell模式:
    pm list package 列出安装在设备上的应用
        不带任何选项:列出所有的应用的包名(不知道怎么找应用的包名的同学看这里)
        -s:列出系统应用
            adb shell pm list package -s
        -3:列出第三方应用
            adb shell pm list package -3
        -f:列出应用包名及对应的apk名及存放位置
            adb shell pm list package -f    
        -i:列出应用包名及其安装来源,结果显示例子:
            adb shell pm list package -i
        参数组合使用,例如,查找三方应用中知乎的包名、apk存放位置、安装来源:
            adb shell pm list package -f -3 -i zhihu
    pm path 列出对应包名的 .apk 位置
    pm list instrumentation , 列出含有单元测试 case 的应用,后面可跟参数 -f (与 pm list package 中一样),以及
    [TARGET-PACKAGE]

    pm dump , 后跟包名,列出指定应用的 dump 信息,里面有各种信息,自行查看
        adb shell pm dump com.tencent.mobileqq
    pm install , 安装应用
        目标 apk 存放于 PC 端,请用 adb install 安装
        目标 apk 存放于 Android 设备上,请用 pm install 安装
        pm uninstall , 卸载应用,同 adb uninstall , 后面跟的参数都是应用的包名
        pm clear , 清除应用数据
        pm set-install-location , pm get-install-location , 设置应用安装位置,获取应用安装位置
            [0/auto]:默认为自动
            [1/internal]:默认为安装在手机内部
            [2/external]:默认安装在外部存储    
    am    am start , 启动一个 Activity,已启动系统相机应用为例
        启动相机        
            am start -n com.android.camera/.Camera
        先停止目标应用,再启动
            adb shell am start -S com.android.camera/.Camera
        等待应用完成启动
            adb shell am start -W com.android.camera/.Camera
        启动默认浏览器打开一个网页
            adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
        启动拨号器拨打 10086
            adb shell am start -a android.intent.action.CALL -d tel:10086
        
        am instrument , 启动一个 instrumentation , 单元测试或者 Robotium 会用到
        am monitor , 监控 crash 与 ANR   :adb shell am monitor
        am force-stop , 后跟包名,结束应用
        am startservice , 启动一个服务
        am broadcast , 发送一个广播
    input  这个命令可以向 Android 设备发送按键事件
        input text , 发送文本内容,不能发送中文
            adb shell input text test123456
        前提先将键盘设置为英文键盘
        input keyevent , 发送按键事件
            adb shell input keyevent KEYCODE_HOME
            模拟按下 Home 键 ,源码里面有定义:
            public static final int KEYCODE_HOME = 3;
            因此可以将命令中的 KEYCODE_HOME 替换为 3
        input tap , 对屏幕发送一个触摸事件
            adb shell input tap 500 500
            点击屏幕上坐标为 500 500 的位置
        
        input swipe , 滑动事件
            adb shell input swipe 900 500 100 500
    screencap  截图命令   adb shell screencap -p /sdcard/screen.png
    screenrecord       新增的录制命令
        adb shell screenrecord sdcard/record.mp4    
        执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard
    uiautomator    
        执行 UI automation tests , 获取当前界面的控件信息
        adb shell uiautomator dump
        不加 [file] 选项时,默认存放在 sdcard 下
    ime      输入法
         adb shell ime list -s
         列出设备上的输入法
         adb shell ime set com.baidu.input_mi/.ImeService
         选择输入法
    wm      获取设备分辨率
        adb shell wm size
        adb -s 2cd6e815   shell wm size   多个设备,-s 设备号
    log  可以在 logcat 里面打印你设定的信息
        adb shell log -p d -t xuxu "test adb shell log"
        -p:优先级,-t:tag,标签,后面加上 message
        adb logcat -v time -s xuxu
    getprop
            查看 Android 设备的参数信息,只运行 adb shell getprop,结果以 key : value 键值对的形式显示,如要获取某个 key 的值:
            adb shell getprop ro.build.version.sdk
            获取设备的 sdk 版本
    linux 命令
        操作你的 Android 设备,常用到的命令,只列出,不详解!
        cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符号 ">" ">>"、管道 "|"
        有些可能需要使用 busybox ,另外建议 windows 下 安装一个 Cygwin , 没用过的请百度百科 Cygwin
        
        
       

  • 相关阅读:
    安装lnmp 时如何修改数据库数据存储地址及默认访问地址
    ubuntu 设置root用户密码并实现root用户登录
    解决ubuntu 远程连接问题
    linux 搭建FTP服务器
    PHP 根据ip获取对应的实际地址
    如何发布自己的composer包
    使用composer安装composer包报Your requirements could not be resolved to an installable set of packages
    laravel 框架配置404等异常页面
    使用Xshell登录linux服务器报WARNING! The remote SSH server rejected X11 forwarding request
    IoTSharp 已支持国产松果时序数据库PinusDB
  • 原文地址:https://www.cnblogs.com/lisa2016/p/10524437.html
Copyright © 2011-2022 走看看