在测试android-app的时候,adb命令可以帮助我们解决许多问题

什么是adb

Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具你能够与你的android设备进行交互。

常用的adb命令

格式:

adb [-d|-e|-s <serialNumber>] <command>

-d: 让唯一连接到该PC端的真实安卓设备执行命令,如果发现USB中连接有多部设备,将会报错

-e: 让唯一连接到该PC端的模拟器执行命令,如果发现开启了多个模拟器,将会报错

-s: 通过设备的序列号进行指定设备执行命令

如果设备只连接有一个设备或者一个模拟器的时候,可以不用声明这三个参数,adb默认会让这部唯一连接到的设备进行命令执行。

1、查看设备:

adb devices

2、安装app

adb install APK的路径

3、卸载app

adb uninstall apk的包名

4、查看apk的包名

# 方法1: 打开想要查询的apk
adb logcat | find “START”

# 方法2: 通过aapt工具
aapt dump badging apk路径

5、如何保存设备日志

# 保存全部日志
adb logcat >电脑路径 # 保存单个apk日志
adb logcat | find ”包名“ >电脑路径

6、重启/杀死adb进程

# 杀掉adb进程
adb kill-server # 重启adb服务
adb start-server

7、传输文件

# 电脑发文件到手机
adb push <电脑路径> <手机路径> # 手机发文件到电脑
adb pull <手机路径> <电脑路径>

8、监控app服务

# 监控app的内存变化
adb shell dumpsys meminfo 包名 # 监控app的cpu
adb shell dumpsys cpuinfo | find ”包名“ # 监控app的耗电量
adb shell dumpsys battery

9、辅助命令

# 截图命令
adb shell screencap -p /手机路径 (sdcard/screen.png) # 录制视频
adb shell screenrecord /手机路径/XXX.MP4

10、monkey命令

# monkey命令

adb shell monkey –p 包名 100

# Adb shell 这个是进入android的shell环境
# Monkey 这个是调用shell里面的monkey工具 (monkey是每个手机出场自带的,我们输入指令是去唤醒它)
# -p 包名
# 100是点击的次数

11、重启设备

# 重启设备
adb reboot # 恢复出厂设置
adb reboot recovery

12、打开apk

# 通过adb 打开apk
adb shell am start <包名>/<activity>

13、操作命令

# 赋予读写权限,一般操作android文件时使用
adb remount # root权限
adb root

14、手机模拟操作

appium---adb shell input 模拟操作系列

adb命令持续更新中~~

appium---常用的adb命令的更多相关文章

  1. Android之什么是Activity和常用的ADB命令以及Android项目结构的认识

    总结一下之前学习Android的一些内容 一:  Android常用的ADB命令(adb android调试桥)      1.adb devices   查看模拟器设备并重新连接. 2.adb ki ...

  2. 常用的adb命令

    在平时的工作中,会经常用到adb命令,在这里稍微整理了一下. 一.概要 1.什么是adb? adb全称为Android Debug Bridge,就是起到调试桥的作用.顾名思义,adb就是一个debu ...

  3. Android系统常用的adb命令

    自己工作中经常要用一些Android的adb命令,把常用的adb命令记录一下,留作备忘. adb devices 查看当前连接的设备 adb install 安装 adb install拖动apk到命 ...

  4. Appium(三):安装appium client、adb命令

    1. 安装appium client appium client是对webdriver原生api的一些扩展和封装.它可以帮助我们更容易的写出用例,写出更好的用例. appium client是配合原生 ...

  5. AndroidTv开发中常用的adb命令

    盒子应用开发时,调试比手机上的开发比较麻烦一点,而且需要经常跟 adb 打交道,不管是 wifi 连接调试,还是应用删除安装等.这里记录一些常用的操作,方便查阅. adb wifi连接调试 方法一:需 ...

  6. 常用的adb命令收集

    测试app常会用到一些adb命令,当然使用adb命令,需要配好jdk.sdk环境,不然不能使用的 1.adb help ----帮助信息 2.adb device ----手机的id查看 3.adb ...

  7. adb命令检测apk启动时间、内存、CPU使用情况、流量、电池电量等——常用的adb命令

    ADB:Android Debug Bridge,是Android SDK里一个可以直接操作安卓模拟器或真实设备的工具,颇为强大.   检测APP:   adb shell am start -W p ...

  8. 几个常用的adb命令

    adb全程为Android Debug Bridge,字面意思就是安卓调试桥接.就是android系统提供的一套 工具帮我们建议一个连接android设备的通道,然后在电脑上发送一些指令,完成工作. ...

  9. Android 常用的adb命令

    1.安装APK(如果加 -r 参数,保留已设定数据,重新安装filename.apk) adb install xxx.apk adb install -r xxx.apk 2.卸载APK(如果加 - ...

  10. Android测试中常用的adb命令

    进入root权限adb root adb remount 重启手机 adb reboot 查看手机devices版本(adb是否连接手机) adb devices 点亮手机电源键/菜单键/home键 ...

随机推荐

  1. E20190418-hm

    distinct adj. 明显的,清楚的; 卓越的,不寻常的; 有区别的; 确切的; predicate  vt. 断言,断定; 宣布,宣讲; 使基于; n. 谓语; 述语;

  2. glassfish cluster 搭建

    http://blog.csdn.net/wych1981/article/details/8815150

  3. oralce9i部署安装

    为什么还学习oracle9i,因为目前大多数企业的数据依然存储在oracle9i上面,对于数据升级存在很大风险,因此在学习oralce之前,首先熟悉oracle9i也是很有必要的.现在我们先来学习or ...

  4. C# 数组之ArrayList

    一.引言 ArrayList类相当于一种高级的动态数组,是Array类的升级版本. 一般的Array,底层是数组实现的,对于数据的查找和修改十分高效.但是有2个大的缺点,其一为增删低效,其二为数组长度 ...

  5. [Android]Android之四种常见布局

    一个丰富的界面总是要由很多个控件组成的,那我们如何才能让各个控件都有条不紊地 摆放在界面上,而不是乱糟糟的呢?这就需要借助布局来实现了.布局是一种可用于放置很 多控件的容器,它可以按照一定的规律调整内 ...

  6. POJ-2186-Popular Cows(强连通分量,缩点)

    链接:https://vjudge.net/problem/POJ-2186 题意: 有N(N<=10000)头牛,每头牛都想成为most poluler的牛,给出M(M<=50000)个 ...

  7. Codeforces 1111D(退背包、排列组合)

    要点 优质题解 因为只有某type坏人全部分布在同一撇时,才能一次消灭.所以题目安排完毕后一定是type(x)和type(y)占一半,其余占另一半. 实际情况只有52*52种,则预处理答案 枚举某两种 ...

  8. Debian 跨版本升级

    相对于某些重量级 Linux 发行版而言,同样是通过网络跨版本升级,Debian 的升级过程总要显得轻快很多.不会因为要下载数量惊人的软件包并安装而把升级时间拉得很长,也不用担心中途某些程序崩溃退出导 ...

  9. Net Core 分布式微服务框架

    Jimu : .Net Core 分布式微服务框架介绍 https://www.cnblogs.com/grissom007/p/9291345.html 一.前言 近些年一直浸淫在 .Net 平台做 ...

  10. E. Selling Souvenirs 不会做

    http://codeforces.com/contest/808/problem/E 不理解为什么dp = {cost, cnt1, cnt2}可以 而dp = {cost, cnt1, cnt2, ...