android调试之adb

其实大部分的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系统开发的,因此其也提供了一个Linuxshell以便于程序员运行常见的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

结伴旅游,一个免费的交友网站:www.jieberu.com

推推族,免费得门票,游景区:www.tuituizu.com

时间: 2024-10-11 13:38:51

android调试之adb的相关文章

(转)当android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 .

转:http://blog.csdn.net/wangdong20/article/details/20839533 做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会儿出现 相信做过android调试的同学都遇到过这个问题,网上说kill掉跟adb相关的进程,重启Eclipse 可是我在任务管理器上没有看到明显的adb进程,我们如何找到它们呢 首先,打开cmd,使用adb命令检查一下,最好是把adb命令的路径放在系统的path环境变量里, 用adb命令也会方便一些 通

转:Android 调试桥(adb)是多种用途的工具

转自:http://my.oschina.net/xuwa/blog/1574 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 A

Android 开发笔记 “android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 ”

资源来源:http://blog.csdn.net/wangdong20/article/details/20839533 做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会儿出现 相信做过android调试的同学都遇到过这个问题,网上说kill掉跟adb相关的进程,重启Eclipse 可是我在任务管理器上没有看到明显的adb进程,我们如何找到它们呢 首先,打开cmd,使用adb命令检查一下,最好是把adb命令的路径放在系统的path环境变量里, 用adb命令也会方便一

Android 调试桥(adb)是多种用途的工具

Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 Adb命令列表 启动shell命令 通过远程shell端运

无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb

Android 调试桥(ADB)

Android 调试桥指的就是 adb.exe 工具( Android Debug Bridge , ADB),存在于 SDK 的platform-tools 目录中,允许开发人员与模拟器或者连接的 Android 设备进行通信.为了使用该指令快速完成某项操作,需要将 adb.exe 所在的目录配置到 path 环境变量中,之后就可以在命令行窗口中使用. ADB 的常见指令介绍如下: adb start-server:开启 adb 服务. adb devices:列出所有设备. adb logc

Android调试优化篇

为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场景下使用的工具. 1.Android调试 软件调试是一个伴随软件开发的必定过程.好的调试环境和工具能够提高开发的效率.在Android中,除了提供GDB调试外.还提供了DNSS.Logcat.Dmtracedump.DevTools.Procrank.Dumpsys等开发工具供开发人员使用,当中DM

Android开发中adb命令

作用: adb是SDK提供的一个常用的命令行工具,全称为Android Debug Bridge就是调试桥的作用,用于在调试时连接本机和手机设备. 借助这个工具,我们可以管理设备或手机模拟器的状态. 还可以进行以下的操作:  1.快速更新设备或手机模拟器中的代码,如应用或Android 系统升级: 2.在设备上运行shell命令: 3.管理设备或手机模拟器上的预定端口: 4.在设备或手机模拟器上复制或粘贴文件: 详解: 没开启一个Android 模拟器, 就相当于开启了一个新的单独系统,这个系统

Android recovery支持adb shell

近期开发过程注意到recovery不支持adb shell.为了便于调试方便,决定添加此功能. 刚開始我们採用的是user版本号系统,进入recovery后,输入adb shell命令.提示"error: no devices/emulators found".我们先确认recovery.img是否包括有adb,看out\debug\target\product\xxx\recovery\root\sbin是否有adb文件(源码\system\core\adb),然后检查\bootab