常用ADB命令介绍:

目录

 常用ADB命令介绍:

ADB工具的介绍:ADB(  Android    Debug     Bridge  )是一个通用的命令行工具,也是Android 软件测试开发工作者常用的调试工具

ADB命令: 可用来安装卸载、管理安卓系统软件、启动测试、抓取日志等

  1. 查看adb是否安装: adb version
  2. 连接设备: adb connect   连接设备的IP: 连接设备的端口号
  3. 断开设备:adb disconnect 连接设备的IP: 连接设备端口号

真机如何进行远程调试的步骤:

注意事项:必须保证手机 和电脑连接的是同一路由器

  1. 将手机用数据线连接到PC端(电脑)
  2. adb devices        //监测设备是否连接上(监测连接的设备数)
  3. adb tcpip 555      // 确认手机端和PC端的通讯端口号为555
  4. 拔掉数据线 , adb connect  连接设备的IP    // 连接设备(手机)
  5. 取消远程调试 adb disconnect 连接设备的IP

 基础命令

  1. 显示系统中的全部设备: adb devices
  2. 开启关闭adb服务:  
  3.  (1)开启adb服务: adb start-server
  4.    (2) 关闭adb服务:adb kill-serve

  1. 获取软件包名: 
  • (1)     adb shell dumpsys window|findstr mCurrentFocus      //方法二                     
  •  (2)     adb shell dumpsys window|findstr"Current"      //方法二

 安装软件:

  • (1)adb install   [apk文件路径]    //apk指的是安卓应用程序的安装包                 
  • (2)adb install  -r  [apk文件路径]    //  加参数 -r 表示覆盖安装,保留缓存和数据处理  ;  apk文件路径 也可以将apk文件包直接拖进cmd命令窗口,前面要加上空格再进行操作。

卸载软件:                                                                                                       

  • (1)adb uninstall [文件名,即包名]                                                                       
  • (2)adb uninstall  -  [文件名,即包名]    //  加参数 -k 表示卸载软件,保存配置和缓存文件

   列出连接设备的软件的包名:     

  1. 列出设备(手机)中所有的APP包名:adb shell pm list packages   
  2. 列出设备中系统应用的所有包名: adb shell pm list packages -s                    
  3. 列出除了系统应用的第三个应用的包名: adb shell pm list packag   
  4. 使用grep来过滤: adb shell pm list packages|grep qq   
  5.  列出系统应用的包名及其安装路径:adb shell pm list packages  -f 
  6. 列出当前应用的包名和activity: adb shell dump activity  activities  
  1. 进入手机系统(进入shell模式):adb  shell     //按Ctrl+c 或exit 退出shell模式
  2. 查看进程: adb shell ps
  3. 查看被占用端口对应的PID:   netstat -aon|findstr "端口号"
  4. 杀死某个进程: 

     (1)taskkill /pid 进程号 /f   //杀死单个进程                                                                         (2)taskkill /pid   进程号1   /pid   进程号2 .... /pid   进程号n  /f  //杀死多个进程 

  1. 启动应用程序:adb shell am start -n 包名/activity名                                                    例子:adb shell am start -n  com.baidu.appsearch/com.baidu.appsearch.MainActivity
  2. 强制停止应用程序: adb shell am force-stop 包名                                                             例子: adb shell am force-stop com.baidu.appsearch
  3. 指定APP生成随机事件100次: adb shell mokey -p 包名 100                                          例子:adb shell mokey -p com.baidu.appsearch 100 
  4. 指定APP生成随机事件100次并发送详细的activity信息adb shell monkey -p 包名 -v -v 100                                                                         

        例子:adb shell monkey -p com.baidu.appsearch -v -v 100 

     5.清除应用程序的缓存数据:adb shell pm clear com.baidu.appsearch                                                                          // com.baidu.appsearch是包名

  1.  获取文件的读写权限:adb remount                                                                            注意:有些设备不能直接 adb remount ,必须先执行 adb root,获取root权限,再执行 adb    remount
  2. 截屏(截图)并保存文件在手机上命名为xx.png  :  adb shell /system/bin/screencap -p /sdcard/xx.png       // 截图保存到手机的/sdcard/目录下
  3. 将手机上xx.png文件保存到电脑d盘中: adb pull /scard/xx.png D:/xx.png    //xx.png ,文件名可以重新随机命名的,不是固定的
  4. 将电脑d盘上xx.txt文件上传(导入)到安卓设备(手机):adb push D:/xx.txt  /adcard/xx.txt    //xx.txt这个文件名  可以随便命名  
  5. 抓取日志之前先清理一下以前的日志的命令:adb logcat - c

  6. 把日志输出到手机的指定目录中: adb locat -f 指定目录(如:/data/log.txt)

  7. 获取APP日志(导出日志文件到本地电脑中):adb logcat>指定路径 

  • 例子1: adb logcat>D:\logs\log.txt   //将日志保存到D:\logs\这个路径下,文件命名为log.txt
  • 例子2:adb logcat -v time >D:\logs\log.txt   //   让日志展示时间戳

  • find过滤包名

    如果直接用adb logcat,会将很多没用的一起加载,如果只想抓取被测app的日志,就需要对包名进行过滤,其命令如下:adb logcat |find"com.baidu.appsearch">D:/log/log.txt

  • 注:com.baidu.appsearch为应用程序的包名,测试换成自己测试的应用程序的包名即可。

常见的操作文件夹的命令:

注意:操作文件和文件夹有时会出现权限不够,Read-only file system,就需要 adb remount操作,获取权限。

  • cd system /sd/ data      //进入系统内指定的文件夹
  • ls              //列表显示当前文件夹的内容
  • mkdir  xxx  创建文件夹    //xxxx,代表文件夹名字
  • rm -r  xxx    删除文件夹    //xxx,代表文件夹名字,加参数 -r 表示删除文件夹及其里面的内容
  • rm  xxx  删除文件    //xxx,代表文件名字
  • rmdir xxx                //删除xxx的文件夹
  • exit                 //退出adb shell 模式   ,或者Ctrl +c 也可以退出shell模式

进阶命令:

adb shell dumpsys   

Andorid 系统是基于Linux系统开发的,支持常见的Linux命令

  1. adb shell ,通过此命令进入设备或者模拟器的shell环境
  2. adb shell [command(指令)] ,加上Linux指令和参数完成指令的执行
  3. 做Andorid安卓前端性能测试的时候,为了检查是否存在内存泄露的情况,需要获取系统的内存:

             adb shell dumpsys meminfo packagename(包名)              

   例子:adb shell dumpsys meminfo com.baidu.appsearch    //可以查询到内存的使用情  况


  • 检查CPU占用率是否过高,需要获取CPU信息:
  •        adb shell dumpsys cpuinfo packagename(包名)         
  •        例子: adb  shell dumpsys cpuinfo com.baidu.appsearch
  • 性能测试是,如果关注前台耗电量和后台耗电量,可以使用以下命令:
  •                adb shell dumpsys battery
  1. 获取手机内存信息:adb shell cat /proc/meminfo
  2. 查看系统的内核: adb shell cat /proc/version
  3. 查看系统时间:adb shell date
  4. 获取手机存储信息: adb shell df
  5. 获取手机内部存储信息:

     1)魅族手机: adb shell df /mnt/shell/emulated                                                                    2)  其他手机: adb shell df /data


  1. 获取手机存储信息: adb shell df /storage/sdcard
  2. 获取手机系统信息(CPU、厂商名称等):adb sehll  " cat /system /build.pro|grep "product"   "
  3. 获取手机系统版本:adb shell getprop ro.build.version.release
  4. 获取手机系统的api版本: adb shell getprop ro.build.version.sdk
  5. 获取手机的设备型号: adb -d shell gerprop ro.product.model
  6. 获取手机厂商名称:adb -d shell getprop ro.product.brand
  7. 获取手机的序列号:

        1)adb get-serialno          //方式一                                                                           

         2)  adb shell getprop ro.serialno    //方式二

  1. 获取手机Mac地址: adb shell cat /sys/class/net/wlan0/address
  2. 获取手机的分辨率: adb shell  " dumpsys window|grep mUnrestrictedScreen "
  3. 获取手机物理密度:adb shell wm density
  4. 获取手机IMEI:

(1)adb sehll dumpsys iphonesubinfo   //其中Device ID 为IMEI号     //方式一                     (2)adb shell getprop gsm.baseband.imei        //方式二                                   

(3)service calliphonesubinfo 1   //方式三  ,此种方式,需要处理获取后的信息得到           

终于写完了,路漫漫其修远兮,大家一起加油吧!

 码字不易,喜欢的朋友可以点赞关注加收藏哦,上文有问题的地方欢迎大家积极指教。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐