现在的位置: 首页 > 综合 > 正文

Ubuntu下折腾Android笔记(三)——ADB—-解决不是别真机的问题

2013年12月11日 ⁄ 综合 ⁄ 共 1779字 ⁄ 字号 评论关闭

Posted on 04/07/2011, 15:26, by 翅膀, under
Android
.

Ubuntu 11.04 Natty Narwhal(以下简称Natty)的beta版出来也有好几天了,翅膀也删除了Maverick(Ubuntu 10.10)开始体验Natty,新系统还不是很稳定,折腾了很久啊……因为把Maverick删了,所以很多东西要重新配置了,下面说说使用ADB(Android Debug Bridge)的一些具体问题。

ADB是在Android SDK里获得的,关于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一番,得知可以通过用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.

  1. 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"

  2. 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

怎么样可以识别了吧~

抱歉!评论已关闭.