buntu 11.04 Natty Narwhal(以下简称Natty)的beta版出来也有好几天了,删除了Maverick(Ubuntu 10.10)开始体验Natty,新系统还不是很稳定,折腾了很久啊……因为把Maverick删了,所以很多东西要重新配置了.
下面说说使用ADB(Android Debug Bridge)的一些具体问题。
ADB是在Android SDK里获得的
Part One. 安装ADB
SDK下载回来,解压后进入tools目录,看到一个名为adb_has_moved.txt的文件,原来是随着SDK的更新,ADB已经不默认包含在tools里了,要通过安装Android SDK Platform-tools来获得。在运行tools文件夹下的android程序,在Availalbe Packages里找到Android SDK Platform-tools,勾选安装,安装之后回到SDK的根目录就可以看到一个名为platform-tools的文件夹,adb就在里面了。可以在这个文件夹下运行adb,不过为了更方便还是把它放在 /usr/local/bin/下吧,在tools文件夹下执行命令:
1
|
sudo
cp
adb
/usr/local/bin/
|
这样就可以在终端直接运行adb命令了。
连上手机,运行adb devices看看,诶?
List of devices attached
???????????? no permissions
这是怎么回事?
Part Two. 解决no permissions问题
Google一番,得知可以通过
lsusb:查看usb设备厂商码用root权限启动adb server来解决问题,但是每次用adb不会很麻烦嘛?!
后来发现在SDK的帮助文档里有关于这个问题的说明:
If you’re developing on Ubuntu Linux, you need to add a rules file that contains a USB configuration for each type of device you want to use for development. Each device manufacturer uses a different vendor ID. The example rules files below show how to add an entry for a single vendor ID (the HTC vendor ID). In order to support more devices, you will need additional lines of the same format that provide a different value for the
SYSFS{idVendor}
property. For other IDs, see the table of USB Vendor IDs, below.
- Log in as root and create this file:
/etc/udev/rules.d/51-android.rules
.For Gusty/Hardy, edit the file to read:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
For Dapper, edit the file to read:
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
- Now execute:
chmod a+r /etc/udev/rules.d/51-android.rules
只要按照说明,在/etc/udev/rules.d/目录下创建51-android.rules文件,写入自己手机的信息就好了。
什么?你有多个不同品牌的Android手机或平板?每一个都添加自然是可以的,当然也有简便方法啦。
只要在51-android.rules中保留一行
1
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
|
就好了~
修改以后重新插入你的Android设备,运行adb devices命令看看:
List of devices attached
M1105bfb6840 device
怎么样可以识别了吧~