【Android】SDK工具学习 - adb
ADB(Android Debug Bridge) 小白笔记
adb简要介绍
adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成:
- 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试
- 运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接
- 运行在 Android 设备上的 adb 后台进程
ADT/SDK Tools目录下的DDMS、Monitor等工具,都是同样地用到了 adb 的功能来与Android设备进行交互
adb命令学习
adb命令主要分为三种
- adb 命令
- adb shell 命令
- Linux 命令
- adb命令
一般格式:
adb [-e |-d |-s <设备序列号>]<子命令>
常用adb命令:
adb devices //获取设备列表及设备状态adb get-state [-s]//获取设备的状态,后面选填设备序列号,可以查询具体设备的状态adb kill-server //结束adb服务adb start-server //启动adb服务adb logcat //**打印 Android 的系统日志(log的筛选和记录后面会再单独拿出来学习)**adb bugreport //**打印dumpsys、dumpstate、logcat的输出,也是用于分析错误**adb install [apk文件]//安装应用;覆盖安装是使用 -r 选项adb uninstall [app包名]//卸载应用;使用 -k 选项,卸载时保存数据和缓存目录adb pull [设备文件位置][本地目录]//将 Android 设备上的文件或者文件夹复制到本地adb push [本地文件位置][设备目录]//推送本地文件至 Android 设备adb reboot //重启 Android 设备
- adb shell 命令
adb shell 命令是调用的是 Android 系统中的命令,这些 Android 特有的命令都放在了Android 设备的 system/bin 目录下。
常用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 //列出应用包名及对应的apk名及存放位置adb shell pm list package-i [关键字]//过滤关键字,可以很方便地查找自己想要的应用adb shell pm list package-f -3-i whatsapp //参数可以组合使用>>package:/data/app/com.whatsapp-1/base.apk=com.whatsapp installer=nulladb shell pm path [包名]//列出对应包名的 .apk 位置adb shell pm list instrumentation //列出含有单元测试 case 的应用,后面可跟参数 -fadb shell pm dump[包名]//**列出指定应用的 dump 信息**adb shell pm install [包名]//安装应用adb shell pm uninstall [包名]//卸载应用;使用 -k 选项,卸载时保存数据和缓存目录adb shell pm clear [包名]//清除应用数据
am
adb shell am start [-D | W | P | R | S][包名]//启动应用>>参数:-D: enable debugging 打开调试-W: wait for launch to complete 等待应用完成启动-P <FILE>: like above, but profiling stops when app goes idle //(不懂)-R: repeat the activity launch <COUNT> times.Prior to each repeat,重复开启应用-S: force stop the target app before starting the activity 先停止目标应用,再启动adb shell am instrument //**启动一个 instrumentation , 单元测试或者 Robotium 会用到**adb shell am monitor //**监控 crash 与 ANR**adb shell am force-stop [包名]//结束应用adb shell am startservice //启动一个服务adb shell am broadcast //发送一个广播
input
input命令可以向 Android 设备发送按键事件
adb shell input text [文本]//发送文本内容,不能发送中文adb shell input keyevent [KeyEvent]//发送按键事件adb shell input tap [x轴][y轴]//对屏幕发送一个触摸事件adb shell input swipe [x0][y0][x1][y1][持续时间]//滑动事件>> adb shell input swipe 5005005015012000//在小的距离内,较长的持续时间内进行滑动,最后表现出来的结果就是长按动作
其他常用adb shell命令
adb shell screencap -p [自定目标目录下的文件名]//截图命令adb shell screenrecord [自定目标目录下的文件名]//录制命令adb shell uiautomator dump//执行 UI automation tests , 获取当前界面的控件信息adb shell ime list -s //列出设备上的输入法adb shell ime set[输入法包名]//选择输入法adb shell wm size //获取设备分辨率
monkey,dumpsys,log(后面另外学习,整理笔记)
- Linux 命令
(后面另外学习,整理笔记)
【Android】SDK工具学习 - adb的更多相关文章
- Android SDK工具(谷歌提供的16个工具)简介
Android SDK包含了许多可以帮助你开发Android平台应用的工具.这些工具分为两类:一是SDK工具:而是平台工具.SDK工具独立于平台,任何开发Android应用的平台都需要配置.平台工具是 ...
- Xamarin.Forms教程Android SDK工具下载安装
Xamarin.Form的Android SDK工具下载安装 本节将讲解如何下载Xamarin.Form的Android SDK工具,并使用其中的工具管理Android SDK,如何创建模拟器等内容. ...
- 第一章 工欲善其事 其利润—Android SDK工具(2)
1.2设备管理工具-调试桥(ADB) 1.2.1ADB简单介绍 ADB全称是Android Debug Bridge,是Android SDK里自带的一个工具,用这个工具能够直接操作管理Android ...
- 第一章 工欲善其事 必先利其器—Android SDK工具(3)
1.3没有真机一样开发--Android模拟器 有些时候,我们手头上可能并没有符合要求的Android设备.那么这时候我们是不是对调试或者开发就一筹莫展了呢?当然不是.由于我们有Android模拟器. ...
- android sdk 深入理解adb
adb 服务器-客户端程序包括3部分 1.客户端(client) 在开发机器上运行,可通过adb命令行呼叫客户端,ADT插件和DDMS同样需要adb客户端 2.服务端(server) 在开发机器上 ...
- 【Android】SDK工具学习 - bmgr
bmgr官方文档 我自己的理解就是bmgr也是一款命令行工具,主要操作Android设备中的Backup Manager(支持API8.0以上的ADT) 主要就是备份(Backup)和还原(Resto ...
- 【Android】SDK工具学习 - Traceview 和 dmtracedump
dmtracedump官方文档 Traceview 根据程序的log,形成图形 dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g out ...
- Android 开发工具介绍-SDK工具和平台工具
原文链接:http://android.eoe.cn/topic/android_sdk Android的SDK提供各种工具可以帮你为Android平台开发移动应用程序.这些工具被分类成两组:SDK工 ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
随机推荐
- sql developer 如何格式化sql
1.首先 Ctrl+A 全选需要格式的sql 2.然后 Ctrl+F7 即可格式化
- 防火墙之地址转换SNAT DNAT
一.SNAT源地址转换. 1.原理:在路由器后(PSOTROUTING)将内网的ip地址修改为外网网卡的ip地址. 2.应用场景:共享内部主机上网. 3.设置SNAT:网关主机进行设置. (1)设置i ...
- 介绍Web项目中用到的几款JS日历日期控件和JS文本编辑框插件
第一款日历日期控件:layDate 官方网站:http://laydate.layui.com/ 第二款日历日期控件:my97 官方网站:http://www.my97.net/ 第三款 文本编辑器控 ...
- Python多类继承中,子类默认继承哪个父类的构造函数__init__
[1]python中如果子类有自己的构造函数,不会自动调用父类的构造函数,如果需要用到父类的构造函数,则需要在子类的构造函数中显式的调用. [2]如果子类没有自己的构造函数,则会直接从父类继承构造函数 ...
- style、 currentStyle、 runtimeStyle、getComputedStyle区别分析
1.obj.style只能获得内嵌样式(inline Style)就是写在Tag里面的,他访问不到那些链接的外部css和在head中用<style>声明的style. 所以必须认识到在那些 ...
- Action Results in Web API 2
https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/action- ...
- AtCoder Regular Contest 095
AtCoder Regular Contest 095 C - Many Medians 题意: 给出n个数,求出去掉第i个数之后所有数的中位数,保证n是偶数. \(n\le 200000\) 分析: ...
- 十二道MR习题 - 2 - 多文件保存
题目: 需要将MR的执行结果保存到3个文件中,该怎么做. 又是一个送分题. 对于Hadoop的MapReduce来说只需要设置一下reduce任务的数量即可.MR的Job默认reduce数量是1,需要 ...
- pyCharm上解决安装不上pandas库问题
最近在PyCharm上安装pandas库的时候,总是安装不上,提示好像是pip除了错误.我使用的是python .4版本.最后判断应该是自己pip版本应该太旧了,最后再cmd更新了pip之后就行了.如 ...
- JavaEE 技术体系
JavaEE 技术体系总结: 一:常见模式与工具 设计模式,流行的框架与组件 常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBatis,玩数据库必不可少的组件 二:工程化与工 ...