• Android 常用 adb 命令总结


    本文adb 命令分为三部分进行介绍:adb 命令adb shell 命令linux 命令

    adb 命令

    这里介绍一些最常用的命令:

    1、adb connect 远程连接 Android 设备

    2、获取设备列表及设备状态:adb devices

         adb get-state , 获取设备的状态

      device:设备正常连接
      offline:连接出现异常,设备无响应
      unknown:没有连接设备

    3、结束 adb 服务:adb kill-server

    4、启动 adb 服务:adb start-server 

    5、打印 Android 的系统日志:adb logcat

       adb logcat |grep -i Displayed  打印当前运行的APP可用于启动某一个应用

    6、收集日志数据,用于后续分析:adb bugreport  (打印dumpsys、dumpstate、logcat的输出)

    adb bugreport > d:ugreport.log

    7、adb install , 安装应用,覆盖安装是使用 -r 选项

    8、adb uninstall , 卸载应用,-k 选项,卸载时保存数据和缓存目录

    9、adb pull , 将 Android 设备上的文件或者文件夹复制到本地

    adb pull sdcard/pull.txt d:
    如果需要重命名为 rename.txt:
    adb pull sdcard/pull.txt d: ename.txt

    10、adb push , 推送本地文件至 Android 设备

    adb push d:push.txt sdcard/

    11、adb reboot , 重启 Android 设备

    12、如果adb连接了多台设备需要用-s指定设备,如下图选择了第二个设备

    13、adb forward , 将 宿主机上的某个端口重定向到设备的某个端口

    adb forward tcp:1314 tcp :8888   执行该命令后所有发往宿主机 1314 端口的消息、数据都会转发到 Android 设备的 8888 端口上,因此可以通过远程的方式控制 Android 设备。

    adb  shell 命令

    adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下。

    在连接模拟器的情况下,dos输入:adb shell即可进入安卓系统的跟目录下,也可以这样编写:adb  shell ls 即查看跟目录

    uiautomator:

    adb shell uiautomator dump

    1、adb shell uiautomator dump 把当前的应用控件生成一个测试文件保存在手机上,下载下来如下

    2、adb shell "uiautomator dump && cat /storage/emulated/legacy/window_dump.xml"    把两个命令合并在一起执行并查看测试文件的内容

    adb shell uiautomator runtest...

    input:

    adb shell input tap 527 1128  根据定位操作

      text <string> (Default: touchscreen)
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)
      tap <x> <y> (Default: touchscreen)
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
      press (Default: trackball)
      roll <dx> <dy> (Default: trackball)

    dumpsys:

    获取所有的 dumpsys 子命令 dumpsys | grep -i DUMP
    获取当前界面元素: adb shell dumpsys activity top
    获取任务列表: adb shell dumpsys activity activities   可以获取到 appium 依赖的原始activity
    获取特定包基本信息  adb shell dumpsys package com.xueqiu.android
    获取系统通知  adb shell dumpsys notification
    获得内存信息  adb shell dumpsys meminfo com.android.settings
    获取 cpu 信息  adb shell dumpsys cpuinfo
    获取 gpu 绘制分析  adb shell dumpsys gfxinfo com.android.settings
    获取短信  adb shell dumpsys activity broadcasts | grep senderName=

    监控内存的使用情况:adb shell dumpsys meminfo | findstr "com.xxx.xxx" 

    如下查看Chrome浏览器的内存使用数据:

     重置电池数据并下载到本地,如下

    pm:

    1、pm list package 列出安装在设备上的应用

    -s:列出系统应用

    -3:列出第三方应用

    -f:列出应用包名及对应的apk名及存放位置

    -i:列出应用包名及其安装来源

    例如,查找三方应用中知乎的包名、apk存放位置、安装来源:adb shell pm list package -f -3 -i zhihu

    2、pm path 列出对应包名的 .apk 位置

    adb shell pm path com.tencent.mobileqq

    3、pm dump , 后跟包名,列出指定应用的 dump 信息,里面有各种信息

    adb shell pm dump com.tencent.mobileqq

    4、pm install , 安装应用

    目标 apk 存放于 Android 设备上,用 pm install 安装

    5、pm uninstall , 卸载应用,同 adb uninstall

    6、清除应用数据和权限:adb shell pm clear "com.ichinait.gbdriver.yiqi"

    7、pm set-install-location , pm get-install-location , 设置应用安装位置,获取应用安装位置

    [0/auto]:默认为自动
    [1/internal]:默认为安装在手机内部
    [2/external]:默认安装在外部存储

    am:

    1、am start , 启动一个 Activity

       启动应用:

      adb shell am start -n com.ichinait.gbpassenger.yiqi/com.ichinait.gbpassenger.login.LoginAnimationActivity -S

      先停止目标应用,再启动

      adb shell am start -S com.ichinait.gbpassenger.yiqi/com.ichinait.gbpassenger.login.LoginAnimationActivity

      等待应用完成启动

      adb shell am start -W com.ichinait.gbpassenger.yiqi/com.ichinait.gbpassenger.login.LoginAnimationActivity

    启动默认浏览器打开一个网页
    adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
    Starting: Intent { act=android.intent.action.VIEW dat=http://testerhome.com }

    启动拨号器拨打 10086
    adb shell am start -a android.intent.action.CALL -d tel:10086            
    Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxx }

    2、input text , 发送文本内容,不能发送中文

    adb shell input text test123456

    3、input keyevent , 发送按键事件

    adb shell input keyevent 3   #模拟按home键

    screencap

    截图:adb shell screencap -p /sdcard/screen.png

    ps

    查看某个应用的进程:adb shell ps -ef|grep com.xx.xxx

    monkey

    monkey操作:adb shell monkey

    查询某包的CPU使用情况:

    adb shell top -n 1 | findstr  com.xxx.xxx

    常用到的命令:cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符号 ">" ">>"、管道 "|"

     
  • 相关阅读:
    u3d 地形 U3d terrain
    u3d 鼠标点击位置,物体移动过去。 U3d mouse clicks position, objects move past.
    u3d 逐个点运动,路径运动。 U3d one by one, path motion.
    u3d 楼梯,圆环,椭圆,直线运动。世界坐标。点击。U3d stair, ring, ellipse, linear motion.World coordinates.Click .
    u3d 元件的克隆 Cloning of u3d components
    u3d 创建元件 预制件 U3d creates component prefabricated parts
    Unity3D 入门 游戏开发 Unity3D portal game development
    Egret 之 消除游戏 开发 PART 6 Egret elimination game development PART 6
    [BZOJ1101][POI2007]Zap
    [BZOJ2820]YY的GCD
  • 原文地址:https://www.cnblogs.com/hanxiaobei/p/6758416.html
Copyright © 2020-2023  润新知