其实大部分的PC开发机与Android设备的操作都是通过adb(android debug bridge)技术完成的,这是一个C/S架构的命令行工具,主要由三个部分组成

运行在PC开发机上的命令行客户端:可以通过它安装、卸载并调试应用
运行在PC开发机上的服务器:它管理客户端到Android设备上adb后台进程的链接
运行在Android设备上的在后台执行的adb 后台进程
1.adb命令参考
子命令 说明
devices 列出所有运行的Android设备
logcat 答应Android系统的日志
bugreport 打印dumpsys、dumpstate和logcat的输出,用在错误报告上作为附件辅助开发人员事后分析
install 把一个.apk 文件安装到指定的设备
uninstall 从指定的设备上卸载一个应用
pull 将Android设备上的文件复制到本地开发机
push 将本地开发机上的文件复制到Android设备
forward 将本地套接字连接转发到指定设备的端口,可以是套接字端口,也可以是其他端口
ppp 通过USB执行ppp
get-serialno 打印设备的序列号
get-state 打印设备的状态
wait-for-device 在设备可用之后再执行命令
start-server 启动adb服务器进程
kill-server 结束adb服务器进程
shell 打开指定Android设备的shell,以执行shell命令
2.adb常用命令
1.列出所有连接到开发机的设备
adb devices
 
List of devices attached
7f324a28 device
其中7f324a28是序列号,是adb生成的用来唯一标识一个模拟器实例或Android设备的字符串
 
device是状态,表示设备已经链接到adb服务器了。
还有其他的状态,如offline,表示设备没有链接到adb服务器,或者因为某种原因没有响应;no device,表示当前没有连接任何设备
 
2.使用adb安装和卸装应用
安装应用
 
adb install test.apk
 
卸装应用
 
adb uninstall com.test
 
安装的参数是需要安装的.apk 文件的绝对路径,而卸载时,参数是应用的包名
 
3.使用adb在设备和PC间传输文件
从PC上传文件到Android
 
adb push ~/dumpstate.txt /sdcard/
 
上面表示将pc上dumpstate.txt上传到Android的sdcard目录
 
从Android下载到PC
 
adb pull /sdcard/dumpstate.txt ~/Desktop/
 
将Android中sdcard的dumpstate.txt下载到PC的桌面
 
4.执行Android shell命令
Android是基于Linux开发的,因此其也提供了一个Linux shell以便于程序员运行常见的Linux命令,这些命令都保存在Android系统中的“/system/bin” 文件夹中,可以通过adb启动远程Android系统的shell,或者是直接执行某个shell命令.
 
Android shell命令中包括了很多常见的Linux shell命令(如 ls,cat,ps,kill)等,下面介绍几个Android附带的重要命令进行介绍
 
df
adb shell df
 
显示Android系统中各个分区的空间
 
Filesystem               Size     Used     Free   Blksize
/dev                  1011.4M   164.0K  1011.2M   4096
/mnt/secure           1011.4M     0.0K  1011.4M   4096
/mnt/asec             1011.4M     0.0K  1011.4M   4096
/mnt/obb              1011.4M     0.0K  1011.4M   4096
/system               1009.3M   413.5M   595.8M   4096
/cache                 252.1M     4.3M   247.8M   4096
/data                    4.9G   186.4M     4.7G   4096
/mnt/shell/emulated     16.0G    29.2M    16.0G   32768
dumpstate
输出Android系统当前的状态,如果不附带任何参数,则其将输出打印到屏幕。因为输出的内容非常多,一般来说都是使用其 “-o”选项输出到Android设备的一个文件中,有时为了节省空间,也可以使用 “-z”选项告诉dumpstate 已gzip格式将内容压缩到输出文件中。
 
adb shell dumpstate -o /sdcard/dumpstate -z
adb pull /sdcard/dumpstate.txt.gz ~/Desktop
gunzip ~/Desktop/dumpstate.txt.gz
dumpsys
Android系统默认运行了很多系统服务,如监控电池信息的battery 服务等。
 
dumpsys meminfo ,打印内存使用率情况
dumpsys activity , 打印所有Activity的信息
dumpsys wifi , 打印无线网络连接信息
dumpsys window ,打印关于键盘,所有窗口以及窗口之间的Z轴层叠顺序的信息
可以通过一个小技巧列出所有dumpsys子命令
 
adb shell dumpsys | grep DUMP
 
 
转自:http://www.2cto.com/kf/201501/373906.html

Android之adb的更多相关文章

  1. Android 工具-adb

    Android 工具-adb 版权声明:本文为博主原创文章,未经博主允许不得转载. Android 开发中, adb 是开发者经常使用的工具,是 Android 开发者必须掌握的. Android D ...

  2. Android 神兵利器—— Adb 常用命令

    总结的Android工具类文章: Android 神兵利器-- Adb 常用命令 Android 神兵利器-- Git 常用命令 Adb的全称为Android Debug Bridge,是管理andr ...

  3. Android的ADB配置环境和adb指令使用

    adb的全称为Android Debug Bridge,就是起到调试桥的作用,作为一名开发者倒是常用到这个工具.借助adb工具,我们可以管理设备或手机模拟器的状态.还可以进行很多手机操作,如安装软件. ...

  4. Android测试——adb命令

    Adb (Android Debug Bridge)起到调试桥的作用. 通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序.adb采用监听Socket TCP 5554等端口 ...

  5. Android composite adb interface

    我的平板连上电脑后,在eclipse的DDMS中查看不到.很奇怪以前不会,我以为在进程中有其他的adb.exe冲突.查看任务管理器没有看到其他adb.exe进程.然后重启eclipse也不用,重启电脑 ...

  6. Android之adb异常

    Android使用adb模拟器时出现"unable to establish connection to adb"."ADB server didn't ACK" ...

  7. Android 常用 adb 命令

    查看原文:http://blog.csdn.net/u010818425/article/details/52266593 (一)基础操作 安装app adb install -r xxx.apk / ...

  8. Linux下安装Android的adb驱动-解决不能识别的问题

    Linux下安装Android的adb驱动-解决不能识别的问题 20141011更新:      老方法对我当时使用的一款设备一直都没有出现问题,最后遇到小米手机还有Android4.4版本的系统都会 ...

  9. Android开发 ADB server didn't ACK, failed to start daemon解决方案

    有时候在打开ddms的时候,会看到adb会报如题的错误,解决方案是打开任务管理器,(ctrl+shift+esc),然后关掉adb.exe的进程,重启eclipse就ok了. 还有许多无良商家开发的垃 ...

  10. Android 常用 adb 命令总结

    Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...

随机推荐

  1. Java调用CMD命令

    java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完d ...

  2. DTCMS会员中心快速更改样式思路

    非常简便 制作一个public.css文件,包含网站头部和底部的样式代码 每个会员中心模版导入这个文件就可以 把原先style.css的头部和底部样式代码删除

  3. 排序,求几个最值问题,输入n个整数,输出其中最小的k个元素。

    看完两个求最大值算法之后的一些感想. 如果想直接看算法的可以跳过.但是我觉得我这些想法还是比较有用的,至少对我将来的算法设计是这样的. 算法的功能越强大,必然意味着速度慢,因为根据丛林法则,那种慢又功 ...

  4. 提高SQL查询效率的常用方法

    提高SQL查询效率的常用方法 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driv ...

  5. RHEL 6.5升级GCC 4.9.3

    前提:保证旧版的gcc,g++存在! root用户 1. 下载源码和依赖包源码:新建目录bakwget http://ftp.gnu.org/gnu/gcc/gcc-4.9.3/gcc-4.9.3.t ...

  6. c语言背后的运行机制

    目的:通过分析c语言转换成汇编代码后的执行过程对汇编语言和X86构架有一个初步认识 实验代码 #include <stdio.h> int g(int x) { ; } int f(int ...

  7. js 手机端触发事事件、javascript手机端/移动端触发事件

    处理Touch事件能让你跟踪用户的每一根手指的位置.你可以绑定以下四种Touch事件: touchstart: // 手指放到屏幕上的时候触发 touchmove: // 手指在屏幕上移动的时候触发 ...

  8. 插入排序(insertion_sort)

    最简单的排序算法,又称插值排序,原理类似于打扑克牌时把摸到的牌插入手中已有序牌的过程. void insertion_sort(int* A ,int n){ int i,j,key; ;i < ...

  9. 简单3d RPG游戏 之 004 攻击(二)

    人物和怪物的攻击都有CD冷却,在PlayerAttack脚本中添加成员 //冷却倒计时 public float attackTimer; //CD冷却时间 public float coolDown ...

  10. Spring MVC控制层的返回类型--String类型与Bean类型

    SpringMVC控制层的返回类型形式多样,现拿其中的两种--String类型与Bean类型作以说明. 一.测试项目的结构 说明:(jsp的名字没起好) 控制层:UserController.java ...