在Ubuntu下使用adb

配置:

基本配置很简单,按照Android SDK配的文档安装好SDK,关键是将sdk目录下tools目录设置入环境变量,即可在命令行使用adb等命令。


ubuntu中使用时发现如下问题:使用adb
devices不能发现已经连接的android设备。产生该问题的原因在于adb命令首次运行时会启动一个server守护进程,用于与android
设备的交互。由于ubuntu的权限问题导致该守护进程无法访问设备。因此可以以如下方式解决(注意,需将adb设置入root环境变量或者使用全路
径):
sudo adb start-server
显示守护进程启动成功后再以adb XXX进行使用即可

不再使用adb时可以通过
sudo adb kill-server
结束守护进程。

———————————————————————-

使用:

adb devices
用于查看当前连接到开发机的设备,包括真实设备及模拟器。

该命令返回的结果为连接至开发机的android设备序列号及状态。序列号用于唯一标示一台android设备,通常为<设备名称>-<端口号>;状态具有如下两种:

offline - 设备没有连接到开发机或无响应 device - 设备已经连接到开发机。注意,该状态并不表示android设备可用,当android设备处于启动阶段时,若连接成功也会返回该状态。

adb [-d|-e|-s <序列号>] <命令>
adb命令的基本格式,其中序列号即为adb devices命令查看到的序列号。

如前所述adb首先会启动server,该server使用5037端口进行监听,并尝试使用5555~5585端口连接Android设备/模拟器。当多台android设备连接至同一开发机时,需要使用-s <序列号> 区分设备进行操作。

-d 表示该命令应用于USB设备,当存在多个连接的USB android设备时返回错误。 -e 表示该命令应用于模拟器,当存在多个连接的模拟器时返回错误。
-s <序列号> 表示该命令应用于具有指定序列号的设备。

adb install <.apk文件路径>
将.apk文件安装至android设备。

adb push <本地文件路径> <android设备文件路径> / pull <android设备文件路径> <本地文件路径>
复制本地文件进入android设备/从android设备复制文件入本地。

adb logcat
查看设备日志信息。

adb get-serialno
获得设备序列号。

adb get-state
获得设备状态。



adb wait-for-device

可用该命令暂时阻断脚本执行直至设备就绪。如命令adb wait-for-device install xxx.apk则会在设备连接就绪后进行xxx.apk安装,若执行时设备未连接就绪则会在此等待。

adb shell
在连接的android设备上启动脚本。

adb shell <shell脚本>
执行指定shell脚本。

———————————————————————-

adb shell

如同UNIX/LINUX下提供的sh、bash等,google提供了ash作为android系统的shell。adb shell即用来进行ash的调用。调用方法如下

adb [-d|-e|-s <序列号>] shell <shellCommand>

或者

adb [-d|-e|-s <序列号>] shell

进入shell模式进行操作,使用Ctrl + D或exit命令退出shell模式。

*可用的shell命令


位于 /system/bin/ 路径下,可通过ls命令进行查看。