相信很多友友也遇到了同样的问题,在Linux上开发Android程序,有真机但却没有驱动,而一般手机的驱动都是Window上的,为此我也烦恼了很久,终于在今天,无意中找到了在Linux上安装Android手机的驱动,其实也不算是安装驱动啦,整个过程,不用下载任何东西,不用安装任何东西,只需写一个文件,就可以了,甚至与Window上安装驱动还方便快捷,我就是用这个方法,让我那台古董机华为C8600能够在Linux识别了,废话不多说,先给出原文链接:

http://esausilva.com/2010/05/13/setting-up-adbusb-drivers-for-android-devices-in-linux-ubuntu/


上面链接中的文章是E文的,鄙人英语水平有限,但还是勉强看懂了,下面就简单翻译一下吧:

1. 首先,我们需要ADT工具包,做Android开发的都知道,这些东西在SDK里面就有了,然后设置环境变量,具体操作我就不说了,度娘或Google吧,当然你也可以在/usr/bin下作一个符号链接到adb那里,总之,能够在Terminal上使用adb命令就行了。

2. 在 /etc/udev/rules.d/ 下添加一个文件,命名为 ##-android.rules,注意这里的##5070,按照原文的说法是,如果你运行的是Gusty/Hardy/Dapper,那就用50,如果你运行的是 Karmic Koala/Lucid Lynx/Maverick Meerkat那就用70(老实说,这里我没太看明白,我用的是50,所以我加的文件名是50-android.rules


具体命令你可以用vim来完成,需要管理员权限,如下:

#sudo vim /etc/udev/rules.d/50-android.rules


然后在里面加一行文字,注意这里需要找到你手机型号对应的Vendor ID,啥叫Vendor ID?别问我,我也不知道,但原文有给出几种机型的Vendor ID,我在这里把它贴出来:

USB Vendor IDs

MANUFACTURER USB VENDOR ID
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

如上标红的字体,我的手机是华为的,所以Vendor ID是12d1,找到Vendor ID后,就在刚刚新建的文件中一行:

SUBSYSTEM=="usb",SYSFS{idVendor}=="12d1", MODE="0666"

(注意红色字体为Vendor ID)

最后保存,并给它赋予可读可执行的权限,命令如下:

#sudo chmod a+rx /etc/udev/rules.d/50-android.rules


这样子就可以了?别急,重启一下机器,重启后用adb devices命令测试一下,若是有看到 XXXXX      device就说明成功了,虽然我这里的全是问号,现在,可以用adb install来安装apk程序咯!


###################################################################

刚刚发现,在Eclipse上不能直接Run As -> Android Application来调试android程序,提示:

Failed to install test.apk on device '????????????': adb rejected install command with: device not found

后来在网上找了很久,看到有个牛人自己修改了adb文件修复了这个问题,再此共享出来,遇到同样问题的友友不访试一下,下载地址:

http://download.csdn.net/detail/qq280948982/3791652

下载后将它覆盖到原来SDK下的platform-tools/adb(覆盖之前先备份以防万一),并使用命令:

#adb kill-server && adb start-server

然后再用adb devices看下,这时你会发现显示的不再是一串问号了,在Eclipse上也可以直接build程序到真机上了 大笑


Logo

更多推荐