adb常用指令

作者: 张小Di | 来源:发表于2019-04-18 18:28 被阅读4次

    adb 命令是adb程序自带的一些命令;adb shell则是调用Android系统的命令,Android系统特有的命令都放在Android设备的/system/bin目录中
    MonkeyRunner能做到的事情,通过adb命令均可以做到

    常用ADB命令
    adb start-server
    
    //关闭adb服务
    adb kill-server
    
    //查看连接设备
    adb devices
    
    //获取设备状态
    //3中状态:device(设备连接正常),offline(连接异常,设备无响应),unknown(无设备)
    adb get-state
    
    重启机器
    
    
    //正常重启
    adb reboot
    
    // 重启到 bootloader (刷机模式)
    adb reboot bootloader
    
    // 重启到 recovery (恢复模式)
    adb reboot recovery
    
    //安装应用程序(前提是切换至安装包所在路径)
    adb install XXX.apk
    
    //卸载应用程序
    adb uninstall XXX
    
    
    常见ADB shell命令
    // 查看网络状态
    adb shell netstat
    
    //查看service
    adb shell service list
    

    **adb shell下常用的命令有pm,am,input

    pm(package Manager),即获取安装在Android设备上的应用信息

    可通过在DOC窗口运行adb shell pm可以获取到帮助信息**

    
    
    //获取设备上安装的所有应用
    adb shell pm list package
    //获取设备上系统应用
    adb shell pm list package -s
    //获取设备上安装的第三方应用
    adb shell pm list package -3
    //获取所有应用及存放位置
    adb shell pm list package -f
    //获取所有应用及安装来源
    adb shell pm list package -i
    
    //获取指定包名对应apk路径
    adb shell pm path 包名
    
    //获取指定应用的dump信息
    adb shell pm dump 包名
    
    //清空指定应用的数据及缓存
    adb shell pm clear 包名
    
    //获取设备上的权限
    adb shell pm list permissions
    
    //列出设备上所有feature
    adb shell pm list features
    

    am(activity manager)可用来模拟各种系统的行为

    am start启动Acticity

    //-n 启动指定的Activity
    //-S先停止目标应用再启动
    //-W 等待应用完成启动
    adb shell am start  -n Activity
    
    //am monitor:监控crash和ANR
    adb shell am monitor
    
    

    am force-stop:结束应用
    am startservice:启动服务
    am broadcast:发送广播
    am instrument , 启动instrumentation,单元测试可以用到

    input:向Android设备发送按键事件
    //模拟输入,%s代表空格
    adb shell input test "文字"
    
    //模拟按键,82代表菜单键
    // 更多KEYCODE可以参考 http://developer.android.com/intl/zh-cn/reference/android/view/KeyEvent.html
    adb shell input keyevent 82
     
    //模拟点击
    adb shell input tap 100 200
    
    //模拟滑动,从位置A-B
    adb shell input swipe 0 1000 800 600
    
    //模拟长按,单位为毫秒
    adb shell input swipe 0 100 0 100 100
    
    
    screencap:截图命令
    //截屏
    adb shell screencap /sdcard/1.png
    
    screenrecord:录屏
    //录屏
    //--size 指定录制视频的分辨率
    //--bit-rate 设置视频采样比特率,缺省值为4Mbps
    //--time-limit 设置录制时间,单位S,默认180S
    //--verbose 录屏时电脑端屏显log,录制结束后还发出了广播android.intent.action
    
    adb shell screenrecord --verbose --size 1920x1080 --bit-rate 5000000 --time-limit 20 /sdcard/test1.mp4 
    
    dumpsys:打印当前系统所有service信息

    如:电量相关

    //查看电量管理信息
    adb shell dumpsys power
    //查看电池用量情况
    adb shell dumpsys battery
    //查看电池信息
    adb shell dumpsys batterystats
    
    //查看指定应用的内存使用情况
    adb shell dumpsys meminfo 包名
    
    monkey:运行monkey命令
    //执行monkey命令
    adb shell monkey -p 包名
    
    uiautomator:获取当前界面控件信息
    //dump获取控件信息
    adb shell uiautomator dump
    //runtest
    
    ime:获取输入法
    adb shell ime list -s
    adb shell ime set 输入法
    
    wm:获取屏幕分辨率
    adb shell wm size
    
    其他常用命令

    查看进程

    adb shell ps
    
    adb shell ps|findstr 进程
    

    查看文件

    //查看根目录下所有文件
    adb shell ls
    
    //查看sd卡根目录下所有文件
    adb shell ls /scard/
    
    //切换到子目录下
    adb shell cd /路径
    
    //显示当前所在目录
    adb shell pwd
    
    //删除文件
    //-f强制删除文件不需要确认
    //-r递归删除文件夹内所有文件
    //-i删除文件前需要确认
    adb shell rm 路径
    
    //创建目录
    //-p按照递归创建目录
    adb shell mkdir 路径
    //拷贝文件从A到B
    adb shell cp /A/文件 /B
    
    //移动文件
    adb shell mv 路径/文件 路径文件
    
    //复制文件到本地
    adb pull /sdcard/1.png d:\
    
    //推送本地文件至连接设备
    adb push d:\1.png /sdcard/
    

    查看CPU及内存

    //-n默认每隔1s刷新一次CPU及内存
    //-m占用内存前N
    
    //查看占用内存前3的应用,刷新1次
    adb shell top -m 3 -n 1
    
    //查看系统当前CPU使用情况
    adb shell cat /proc/cpuinfo
    adb shell cat /proc/stat
    
    //查看系统当前内存使用情况
    adb shell cat /proc/meinfo
    

    其他

    //打印日志
    adb logcat
    

    参考文档:
    adb常用指令
    android adb常用命令收集

    相关文章

      网友评论

        本文标题:adb常用指令

        本文链接:https://www.haomeiwen.com/subject/zewgwqtx.html