此文系转载:http://blog.sina.com.cn/s/blog_96a11ddf0101t56b.html
首先我们在编译完一个项目后,在项目的输出档中将会有一个adb文件
我们可以将此adb文件拷贝到我们/bin目录下,以便后续执行adb的操作
注意:
如果我们的编译项目是在服务器中编译出来的,我们可以直接从服务器中将其拷贝到本地的/bin目录下
htp1204@htp1204-VirtualBox:~/mrd7$ssh lintao@server161
lintao@server161'spassword:
lintao@linux-cte:~/workspace/mrd7/out/host/linux-x86/bin$pwd
/home/lintao/workspace/mrd7/out/host/linux-x86/bin
Open a new terminel, and copy the adb file to themenu/bin
htp1204@htp1204-VirtualBox:~$ls
bin
busybox
htp1204@htp1204-VirtualBox:~$cd bin/
htp1204@htp1204-VirtualBox:~/bin$ls
repo
进入bin目录下,并通过scp命令将服务器上的adb文件拷本到当前目录
htp1204@htp1204-VirtualBox:~/bin$scp lintao@server161:/home/lintao/workspace/mrd7/out/host/linux-x86/bin/adb.
连上android真机, 在设置中打开usb debug,再在ubuntu中点击设备/分配USB设备中对应的android设备.
ctrl+alt+T, 打开终端, 进入/bin目录, 运行adb devices或adbroot,会发现不识别android设备的现象:
htp1204@htp1204-VirtualBox:~/bin$adb root
error: insufficient permissions for device
~~~~~~~~~~~~~~~~~~~~~~~~
在这里我们需要用到文件51-android.rules,就可以解决此问题.
为什么是“51-android.rules”?
udev 识别 android 设备 51-android.rules
首先使用lsusb查看设备的VID PID
创建/etc/udev/rules.d/51-android.rules,
127|root@android:/davidhu #busybox_arm lsusb
Bus 001 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0001
Bus 004 Device 001: ID 1d6b:0002
Bus 005 Device 001: ID 1d6b:0001
将下载下来的文件51-android.rules拷贝到/etc/udev/rules.d/目录下
~~~~~~~~~~~~~~~~~~~~~~~~
htp1204@htp1204-VirtualBox:~$cd Desktop/
htp1204@htp1204-VirtualBox:~/Desktop$ls
51-android.rules
htp1204@htp1204-VirtualBox:~/Desktop$sudo cp 51-android.rules /etc/udev/
rules.d/
htp1204@htp1204-VirtualBox:~/Desktop$sudo cp 51-android.rules /etc/udev/rules.d/
htp1204@htp1204-VirtualBox:~/Desktop$cd /etc/udev/rules.d/
htp1204@htp1204-VirtualBox:/etc/udev/rules.d$ls
51-android.rules
htp1204@htp1204-VirtualBox:/etc/udev/rules.d$ls -l 51-android.rules
-rwxr-x--- 1 root root 2689 Apr 17 18:1351-android.rules
htp1204@htp1204-VirtualBox:/etc/udev/rules.d$sudo vi 51-android.rules
htp1204@htp1204-VirtualBox:/etc/udev/rules.d$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
操作步骤:
1、点击下载下面的文件,解压出来。
2、解压该文件。用文本编辑器打开“51-android.rules”,将这里面的OWNER="snowdream",替换成OWNER="您的系统用户名"。保存。
3、将文件 “51-android.rules”,拷贝到/etc/udev/rules.d/ 目录下。参考命令如下:
6、再在终端运行以下命令:
$ adbdevices
运行结果
htp1204@htp1204-VirtualBox:/$adb devices
List of devices attached
20080411
设置成功。
注:
2、参考资料:
Ubuntu上Eclipse不识别Android手机的解决方法 http://www.cnblogs.com/AndroidManifest/archive/2011/12/09/2281635.html
Udev
Using HardwareDevices
51-android.rules to autorun Android's adbserver
参考:
一个文件搞定Ubuntu上不识别Android手机的问:http://blog.csdn.net/snowdream86/article/details/7665989
为什么是“51-android.rules”? http://www.cnblogs.com/frydsh/archive/2013/03/07/2949089.html