ubuntu 11.10下配置adb命令&设备无法正常显示问题

今天又遇到了这个问题,再继续研究下。。。请教了同事。。。

因为我的手机在ubuntu11.10上总是不显示,显示问号:??? 还有unknown,然后查了下解决办法,需要用到adb命令,但是我没有配置adb命令,开始配置。对了,中间使用vim命令的时候,没装,又马上装了下vim,比vi太好用了,vi就是个粑粑。

Ubuntu 环境变量的配置

在Ubuntu上用Android的adb工具发现环境变量有问题,就从网上看了会Linux下环境变量的配置,对其环境变量的配置文件有所了解,这里单说一下可以配置环境变量的文件:

1. /etc/profile:首先是全局的,适用于所有的shell;在登录时,操作系统配置用户首选项使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行用于设置shell,可以在这里配置环境变量。


2.  /etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,配置文件系统环境。 我一般在这里设置一些全局的变量,Ubuntu默认PATH在这个文件中,我就把adb的路径放到这里了。(PS:以上两项修改需要重启)

ubuntu 11.10下配置adb命令&设备无法正常显示问题_第1张图片


3. ~/.bash_profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.


4.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

常用的一些命令:

echo : echo $PATH  可以用来显示环境变量

export :设置一些环境变量  export PATH="$PATH:/my_new_path"

env : 显示所有的环境变量

set : 显示所有本地定义的Shell变量

unset : 清楚环境变量  unset $PATH

readonly :  设置只读变量 readonly PATH



配置adb环境变量

1、配置环境变量
sudo vi ~/.bashrc

1 #set path for android sdk tools
2 export PATH=$PATH:~/android-sdk-linux/tools/
3 export PATH=$PATH:~/android-sdk-linux/platform/
export PATH=$PATH:~/android-sdk-linux/platform-tools    #现在的adb命令在这个路径下

2、保存后,同步更新
source ~/.bashrc
3、直接运行adb的话会显示

adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
???????????? no permissions

没有权限
4、关闭adb服务,切换到root,重启adb服务,离开root
adb kill-server
sudo /home/m/android-sdk-linux/platform/adb start-server
现在即可使用adb了


下面解决办法新建的文件名称是:51-android.rules

在eclipse下调试时发现找到的设备为'Unknow',很明确,系统不识别该设备,在官网有解决方法:http://developer.android.com/guide/developing/device.html#setting-up,全是E文,这里我就写写做个备案:
   系统环境:ubuntu11.10

开始工作

1)在如下位置建立如下文件:/etc/udev/rules.d/51-android.rules

2)确保android设备已经与电脑连接,在Terminal输入lsusb,会出现设备的信息如

”Bus 001 Device 004: ID 18d1:0002 Google Inc. “

找到该信息并找到”ID“字段信息加入第3步中。

3)在”51-android.rules“文件中添加如下信息

SUBSYSTEM==”usb”, SYSFS{“Google Inc. ”}==”18d1″, MODE=”0666″

4) 运行以下命令:

sudo chmod a+rx /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart

5) 在 android sdk 的platform-tools 目录下运行 (这一步很重要,必须要sudo)
sudo ./adb kill-server
sudo ./adb devices



还有可供参考的文章:

http://my.oschina.net/u/183622/blog/56990

 

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

上面是一种解决device不显示的办法,还有一种,同事帮我解决的,肯定能解决的办法,如下:

sudo vim /etc/udev/rules.d/70-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cd6",MODE="0666"

上面是同事帮我解决时新建的文件名:70-android.rules,和下面在网上搜的解决办法并不一样,网上的新建的文件名为51-android.rules.后来我又仔细看了看,有几点不同:

/etc/udev/rules.d/70-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c86",MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cba",MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="dddd",MODE="0666"

 

而51-android.rules中的内容是:

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="dddd",MODE="0600" OWNER="<username>"

 

不知道各位看出区别没有:ATTR么有S,MODE的值一个是0666,一个是0600,51里面最后没有OWNER这个内容。真怪了,就这么点差别,就是不行。

 

待续。。。

 

 

 

 

 

 

 

 

 

 

 

 

 


你可能感兴趣的:(ubuntu 11.10下配置adb命令&设备无法正常显示问题)