adb 命令

ADB全名Andorid Debug Bridge。 是⼀个Debug⼯具。adb是⼀个标准的C/S结构的⼯具, 是要连接开发电脑和调试⼿机的
包含如下⼏个部分:
1.Client端,运⾏在开发机器中,即你的开发PC机。⽤来发送adb命令。
2.Daemon守护进程, 运⾏在调试设备中, 即的调试⼿机或模拟器。
3.Server端, 作为⼀个后台进程运⾏在开发机器中, 即你的开发PC机. ⽤来管理PC中的Client端和⼿机的Daemon之间的通信。Client<—>Server<—>Daemon

启动和关闭adb服务
在某些情况下,可能需要终止然后再启动服务端进程,例如adb不响应命令的时候,可以通过重启解决问题。
关闭adb服务,输入命令 adb kill-server
启动adb服务,输入命令 adb start-server

查询模拟器/真机状态
输入命令 adb devices
连接状态分为2种:
offline-未连接或未响应;
device-已经连接到服务商。注意这个状态并不表示Android系统已经完全启动起来,系统启动的过程中已经可以连接adb,但这个状态是正常的可操作状态。

操作指定的模拟器/真机
输入命令 adb -s
如果有多个模拟器或真机正在运行,当使用adb命令的时候就需要指定目标设备,这可以通过使用-s选项参数实现。

获取系统版本
adb shell getprop ro.build.version.release

发送⽂件到⼿机
adb push 电脑端⽂件路径/需要发送的⽂件 ⼿机端存储的路径
示例:
将桌⾯的xx.png发送到⼿机sdcard⽬录下
adb push C:\Users\huaixiao\Desktop\xx.png /sdcard

从⼿机拉取⽂件
adb pull ⼿机端的路径/拉取⽂件名 电脑端存储⽂件路径
示例:
将⼿机/sdcard⽬录中的xx.png⽂件,发送到电脑桌⾯
adb pull /sdcard/xx.png C:\Users\huaixiao\Desktop

查看⼿机运⾏⽇志
adb logcat

安装应用程序
输入命令 adb install -r <path_to_apk>
使用adb install命令从电脑中复制应用程序安装到模拟器或真机上,在这个命令中,必须指定待安装的.apk文件的路径。
例如:adb install -r D:\Documents\Downloads\Qunar.apk
提示Success,此时已经将应用程序安装到设备上了。

卸载应用程序
输入命令 adb uninstall
使用adb uninstall命令在模拟器或真机上卸载指定的应用程序,为要卸载的应用程序包名。
例如:adb uninstall com.Qunar
卸载包名为com.Qunar的应用程序,提示Success,在设备上已经卸载掉此应用程序了。

获取App的appPackage和appActivity
执行自动化测试之前,必须要获取所测试App的appPackage(包名)和appActivity(启动名),之后将这两个值填写到脚本指定参数里,来告诉要执行的是哪个App。
appPackage: 包名,决定程序的唯一性(不是应用的名字).
appActivity:启动名,目前可以理解为一个启动名对应一个页面.
获取方式有很多(任选其一即可):
方式一:
先在设备里打开要获取的App
输入命令 adb shell dumpsys window windows | findstr mFocusedApp
例如:微信app,如图所示:在这里插入图片描述

方式二:
先获取appPackage
输入命令 adb shell pm list package -3
例如:微信App,如图所示:
appPackage为com.tencent.mm
在这里插入图片描述
之后在设备里打开要获取的App,获取appActivity
输入命令 adb logcat ActivityManager:I *?
或者(由于打印的日志信息太多,可以指向文档里,方便查找)
输入命令:adb logcat ActivityManager:I *? >C:\Users\huaixiao\Desktop\activity.txt在这里插入图片描述

在打印的信息里,找到以appPackage为com.tencent.mm的appActivity信息
如图:appActivity为.ui.LauncherUI
在这里插入图片描述
方式三(通过.apk程序文件来获取appPackage和appActivity):
命令行进入Android SDK目录下aapt所在的目录里。
如图所示:
在这里插入图片描述
输入命令 aapt dump badging <path_to_apk>
例如:aapt dump badging E:\baiduyuedu_5921.apk
appPackage为com.baidu.yuedu
在这里插入图片描述
在这里插入图片描述
获取app启动时间
adb shell am start -W 包名/启动名
示例:
adb shell am start -W com.yly.drawpic/.MainActivity
解释:
TotalTime:app⾃身启动时间
WaitTime:系统启动应⽤时间

查看内存信息
adb shell dumpsys meminfo <package_name>
其中,package_name 也可以换成程序的pid,pid可以通过 adb shell top | grep app_name 来查找,在命令行窗口运行上述命令,得到的我的 com.ticktick.test 程序的内存情况如下所示:
这里得到的信息非常多,重点关注如下几个字段:
(1) Native/Dalvik 的 Heap 信息
具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。
(2) Total 的 PSS 信息
这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值