Android ADB 的使用

31 Jan 2016

什么是adb?

adb,全称Android Debug Brige。是一个很强大的命令行工具,通过它你能用各种命令操作你的android设备。该程序包含以下三个部分:

程序结构说明图

adb安装

在Ubuntu系统下,通过命令sudo apt-get install android-tools-adb即可安装,当然如果你的电脑里已经安装了Android SDK的话就不需要再安装了,切换到SDK目录的platform-tools目录里就可以运行adb命令:./adb


以下为一些实用的、常见的adb命令


列出已经连接的设备

adb devices

执行后将会看到每一个已经连接的设备。如果此时已经连接了多台设备,比如同时开了两个模拟器,再连接了一个真机。然后需要操作其中一个设备时,adb命令需要用”-s“参数指定要操作的设备,使用如下:

adb -s <serialNumber> <command>

其中可以同个devices命令查看,为你要执行的命令。

进入设备的shell模式

adb shell

执行后可以在shell模式下操作设备。

获取root身份

adb root

该命令重启adbd程序,并让adbd程序拥有root权限,便于文件等其他需要权限的操作。

文件操作

特别说明:该操作需要root权限,所以在执行该命令前,先执行adb root命令。而执行该命令需要先root手机,如果你不想root手机,还有一种办法是先进入shell模式,然后执行su命令获取管理员身份,再对需要操作的文件赋予other用户能读写的权限。当然,这种办法不是每个手机都能用,有的手机没有root的话是没有su程序的,也就不能执行su命令。比如我的魅蓝2,很是坑爹:得先进入“设置——我的Flyme——个人中心——系统权限”开发系统权限,网上有的说法是在开启系统权限后手机会重启,重启后手机就已经root了。但是我的手机重启后运行adb root还是不行,但是现在可以执行su命令了,但执行su命令后,似乎并不起作用,比如我用chmod命令修改我要操作的文件夹的权限,但是修改后的权限和修改前的一样,而且很多文件还是不能访问,就和shell模式下一样的感觉,无奈只能再下一个root程序把手机给root了。(我root成功的软件是__KingRoot__)按理说手机已经root了,应该可以执行adb root命令了,但我的魅蓝手机似乎还是不能执行,报错如下:

adbd cannot run as root in production builds

这是因为手机虽然已经root,但是adbd程序并没有以root身份运行,所以电脑无法通过adb root命令获取root权限。google一番后的解决办法是重新安装一个adbd程序:adb insecure,中文版叫超级adb。(点击下载)该程序能让adbd在已经root的手机上以root模式运行。下载后,用相应的adb命令(下面会有介绍)安装到手机,打开软件并启用超级abdb,然后再重新连接到电脑,现在在执行adb root命令就没有问题了。

安装、御卸手机应用

adb install chaoji_16172.apk

该命令将chaoji_1672.apk程序安装到手机,该程序就是上面提到的超级adb程序。

adb uninstall chaoji_1672.apk

御卸chaoji_1672.apk。
这两个命令都有可选的参数可以使用,可以通过adb --help命令查看。