有些能在网上搜索到,有些是我自己总结出来,希望对大家有用。
如果想深入讨论,可以给我留言在不泄露公司机密的情况下,我愿意和大家一起探讨。
另外,我是个菜鸟。刚接触android不久,只是要我做这一块,才写了个说明文档,下面要准备用这个工具测了。
下面是我做的说明文档,很简单,删了很多东西
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;}
ADB工具命令及用法
Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备。
主要可以进行的操作有:
1、快速更新设备或手机模拟器中的系统和应用。
2、运行shell命令;
3、管理设备或模拟器上的预定端口;
4、在设备或模拟器上复制,粘贴文件;
一.ADB环境的搭建。
我们现在用的都是虚拟机,在安装SDK的时候就已经安装好了ADB,FTP上也有下载,是SDK的tools文件夹里自带的一个工具。
在运行ADB之前,一定要先启动你的虚拟机。如果使用手机请正确安装驱动让电脑能够识别(附件里有驱动)。
二.进入ADB的运行环境。
点击开始—运行—输入cmd—回车。
在dos环境下进入tools文件夹:输入cd /d <你的tools文件夹的绝对路径>。以我的为例:cd /d E:\android\android-sdk-windows\tools。
在这个文件夹中就可以对ADB进行命令的输入了。
三.ADB的一些常用命令介绍。
我个人觉得在ADB里面的命令可以分成两种,一是ADB下的命令,二是adb shell中的命令,这个里面的命令和linux里面的命令是一样的,作用也是一样。
下面对ADB下的命令做下逐一介绍。这些命令在输入adb help之后都可以看见。
adb -d仅通过USB接口来管理abd.如果不只是用USB接口来管理则返回错误。
-e仅仅通过模拟器实例来管理adb.如果不是仅仅通过模拟器实例管理则返回错误。
-s <serialNumber>通过模拟器/设备的允许的命令号码来发送命令来管理adb (比如: "emulator-5556").如果没有指定号码,则会报错。
devices查看所有连接模拟器/设备的设施的清单。
help查看adb 所支持的所有命令。
version查看adb的版本序列号。
logcat [<option>][<filter-specs>]将日志数据输出到屏幕上。
bugreport查看bug的报告,如dumpsys , dumpstate ,和logcat 信息
jdwp查看指定的设施的可用的JDWP信息。可以用 forward jdwp:<pid> 端口映射信息来连接指定的JDWP进程.例如:
adb forward tcp:8000 jdwp:472
jdb –attach
localhost:8000
install <path-to-apk>安装Android为(可以模拟器/设施的数据文件。apk指定完整的路径)。这个命令要注意,adb只提供了,安装命令,如果要卸载,只有在adb shell中使用rm命令删除,装好的apk包都会在/dadt/app文件夹下。
pull <remote> <local>将指定的文件从模拟器/设施的拷贝到电脑上。
push <local> <remote>将指定的文件从电脑上拷贝到模拟器/设备中。
forward <local> <remote>用本地 指定的端口通过socket方法远程连接模拟器/设施。
端口需要描述下列信息:
• tcp:<portnum>
• local:<UNIX domain socket name>
• dev:<character device name>
• jdwp:<pid>
ppp <tty> [parm]...通过USB运行ppp:
• <tty> — the tty for PPP stream.For example dev:/dev/omap_csmi_ttyl 。
• [parm]... &mdash zero or more PPP/PPPD options, such as defaultroute , local , notty , etc。
get-serialno查看adb实例的序列号。
get-state查看模拟器/设施的当前状态。
wait-for-device如 果设备不联机就不让执行,也就是实例状态是 device 时。
你可以提前把命令转载在adb的命令器中,在命令器中的命令在模拟器/设备连接之前是不会执行其它命令的. 示例如下:
adb wait-for-device shell getprop
需要注意的是这些命令在所有的系统启动启动起来之前是不会启动adb的 所以在所有的系统启动起来之前你也不能执行其它的命令。比如:运用install 的时候就需要Android包,这些包只有系统完全启动。例如:
adb wait-for-device install <app>.apk
上面的命令只有连接上了模拟器/设备连接上了adb服务才会被执行,而在Android系统完全启动前执行就会有错误发生。
start-server选择服务是否启动adb服务进程。
kill-server终止adb服务进程。
这些都是介绍了一些常用的命令,本来ADB支持的命令并不是很多,所有的命令输入adb help之后都可以看见,且后面带有说明。
四.adb shell命令介绍
通过adb shell命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux 的命令,如果只想执行一条命令,而不进入shell可以输入adb shell cmd(命令名)。
在进入shell状态后,会出现大家熟悉的#符号,这时就可以输入linux命令了。
一些基本的命令在adb shell里都是支持的,需要注意的是比如,rm命令,rom自带的一些软件和功能直接删是删不掉的,这时退出shell 输入 adb remount 把系统分区重新挂载为可写,然后进入shell就可以删文件了。
在adb shell中可以使用的命令,可以在进入adb shell 后输入:#cd /system/bin #ls
然后就会出现在adb shell 中所有可以使用的shell命令。在linux环境下大家都很熟悉这些命令,就不多介绍了。
这里介绍一些android特有的。
etprop 返回Android的所有系统属性。
getevent 打印所有的键盘和触摸事件。
logcat 输出日志。(SVN里有专门介绍logcat功能的文件,这里不多做介绍)
printenv 系统环境变量。
am 运行start/broadcast/instrument可以运行自动化测试代码(单元测试使用)。
不是技术贴,是水贴~~HOHO
有什么不清楚的大家一起讨论啊。