一、工具介绍
android-sdk-linux_x86/tools下有一堆工具,今天要用的是:Android Debug Bridge,在android开发过程中,这个工具是使用得最多的。(缩写adb,有点像gcc的gdb似的)
下载 ADT Bundle http://developer.android.com/sdk/index.html,一开始下载的是android-sdk_r22.0.5-linux 才发现adb 被移除了,
现在存放在adt-bundle-linux-x86_64-20130729/sdk/platform-tools下边了。
二 .首先需要下载adb for linux的工具包 下载地址adb start-server – 实际上它会启动一个 adb fork-server server
adb kill-server – kill掉
adb devices – 列出所有的设备
解压到任何地方,不要删除掉就是了
因为ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。
$ lsusb 查看usb使用情况
通过两次比较,发现如下usb口是当前使用的端口:Bus 002 Devices 004:ID 230b:0100
ID 230b 就是idVendor ,0100就是 idProduct
然后新建并编辑一个文件
sudo vi /etc/udev/rules.d/70-android.rules
在里面写入:
我的的系统是Ubuntu10.10,则写入下面这句
SUBSYSTEM=="usb", ATTRS{idVendor}=="230b", ATTRS{idProduct}=="0100",MODE="0666"
注意 == 与 =,参考文章第一项里面有其他厂商设备的idVendor。
其他厂商的如下:
Acer | 0502 |
Dell | 413c |
Foxconn | 0489 |
Garmin-Asus | 091E |
HTC (Older Phones) | 0bb4 |
HTC (Newer phones) | 18d1 |
Huawei | 12d1 |
Kyocera | 0482 |
LG | 1004 |
Motorola | 22b8 |
Nexus One/S | 18d1 |
Nvidia | 0955 |
Pantech | 10A9 |
Samsung | 04e8 |
Sharp | 04dd |
Sony Ericsson | 0fce |
ZTE | 19D2 |
然后保存退出,再设置一下权限
sudo chmod a+rx /etc/udev/rules.d/70-android.rules
这时候还需要编辑一下 ~/.bashrc 文件加入adb tool的路径
vi ~/.bashrc
在末尾加入,其中红色部分就是刚下载的工具包解压的路径
export PATH=${PATH}:/home/luobin/platform-tools
运行命令,重启udev:
$sudo service udev restart
现在需要重启一下你的Ubuntu,然后USB连接手机,确保usb调试已打开,在终端下输入
三、重新启动adb server
(很重要)拔掉usb重新连上再执行:
sudo ./adb kill-server adb kill-server
./adb devices adb devices
./adb root (这一步很重要 ) adb root
四、使用usb进行调试
问题说明中的问题至此已经得到解决。
如果一切正常的话
输入
adb devices
就能显示出当前连接到电脑的android设备 ^_^
adb shell
就能在Ubuntu上的终端执行android的shell命令了