如何在Ubuntu下面识别Galaxy Nexus设备
2012-05-10 00:00
393 查看
最近入手了Galaxy Nexus手机,但是由于一直在Ubuntu下面开发,而Ubuntu不能直接识别GalaxyNexus的MTP设备,导致了16G的Rom在Ubuntu下面完全无法识别,只能通过adb push和adb install的方法来安装程序,没有充分发挥磁盘存储器的作用。因此,上网搜索了几种办法,折腾了挺久终于解决了。
解决办法如下:
1. 安装必要的MTP工具集:sudo apt-get install mtp-tools mtpfs
2. 打开Galaxy Nexus,选择MTP设别的存储方式,而不是PTP。如图示。
3. 检测你的设备的idVendor和idProduct号。mtp-detect | grep idVendor (获取的号码就是输出的红色字段,idVendor: 04e8)mtp-detect | grep idProduct(获取的号码就是输出红色字段,idProduct: 685c)
4. 编辑设备文件,没有就添加。gksu gedit /etc/udev/rules.d/51-android.rules
在其中加入:SUBSYSTEM==”usb”, ATTR{idVendor}==”VENDORID”, ATTR{idProduct}==”PRODUCTID”, MODE=”0666″
其中,VENDORID替换位你签名的idVendor的值,即04e8,后面的PRODUCTID同理。注意,引号一定注意全角和半角,不放心手动输入一遍。
5. 启动相关服务和规则,设置挂载点,并赋予读写可执行权限。
sudo service udev restartsudo mkdir /media/GalaxyNexussudo chmod a+rwx /media/GalaxyNexussudo adduser YOURUSERNAME fuse(将你的用户名替换这里的YOURUSERNAME)
然后编辑文件,gksu gedit /etc/fuse.conf,将最后一行签名的#去掉,即将原来的“#user_allow_other”变为“user_allow_other”。
6. 然后,利用别名机制,实现挂载和弹出。
echo “alias android-connect=\”mtpfs -o allow_other /media/GalaxyNexus\”" >> ~/.bashrc
echo “alias android-disconnect=\”fusermount -u /media/GalaxyNexus\”" >> ~/.bashrc
source ~/.bashrc(再次注意签名的全角和半角符号,手动输入一遍避免出错)
7. 然后,此时运行android-connect可能还不能识别设备,注销之后登录进去,再次运行android-connect,即可成功。不过,挂载的过程有点慢,需要等上1分钟左右,开始可能误以为没有挂载,不过后来会弹出相应的文件浏览器,并可以完整的看到文件,拷贝,编辑。
至此,整个过程成功,经过测试完全可用。
附记:如果严格按照上面的步骤,并且注意了全角和半角符号,仍然出现了问题,可以检测是否是libmtp这个库运行不正常,可能在最新的Ubuntu下面,较久版本的不能正常运行,此时,可以按照下面的步骤来更新到最新的libmtp库,然后即可成功。经过测试,也没问题(此步骤可以在前面所有步骤之前进行)
sudo apt-get install libusb-devwget http://downloads.sourceforge.net/project/libmtp/libmtp/1.1.1/libmtp-1.1.1.tar.gztar -xvf libmtp-1.1.1.tar.gzcd libmtp-1.1.1./configure --prefix=/usrmakesudo make installsudo cp 69-libmtp.rules /etc/udev/rules.d (mayby not needed)sudo service udev restart实际上,经过上面这9个步骤之后,就可以使用mtp设备了,因为已经可以使用mtp-dectect,mtp-files等命令来查看设备以及相关的文件了,还可以操作其中的文件,但是,使用命令行的方式比较麻烦,所以才需要mtp-tools mtpfs这些工作实现MTP设备的挂载,拷贝,从而像磁盘那样操作。
解决办法如下:
1. 安装必要的MTP工具集:sudo apt-get install mtp-tools mtpfs
2. 打开Galaxy Nexus,选择MTP设别的存储方式,而不是PTP。如图示。
3. 检测你的设备的idVendor和idProduct号。mtp-detect | grep idVendor (获取的号码就是输出的红色字段,idVendor: 04e8)mtp-detect | grep idProduct(获取的号码就是输出红色字段,idProduct: 685c)
4. 编辑设备文件,没有就添加。gksu gedit /etc/udev/rules.d/51-android.rules
在其中加入:SUBSYSTEM==”usb”, ATTR{idVendor}==”VENDORID”, ATTR{idProduct}==”PRODUCTID”, MODE=”0666″
其中,VENDORID替换位你签名的idVendor的值,即04e8,后面的PRODUCTID同理。注意,引号一定注意全角和半角,不放心手动输入一遍。
5. 启动相关服务和规则,设置挂载点,并赋予读写可执行权限。
sudo service udev restartsudo mkdir /media/GalaxyNexussudo chmod a+rwx /media/GalaxyNexussudo adduser YOURUSERNAME fuse(将你的用户名替换这里的YOURUSERNAME)
然后编辑文件,gksu gedit /etc/fuse.conf,将最后一行签名的#去掉,即将原来的“#user_allow_other”变为“user_allow_other”。
6. 然后,利用别名机制,实现挂载和弹出。
echo “alias android-connect=\”mtpfs -o allow_other /media/GalaxyNexus\”" >> ~/.bashrc
echo “alias android-disconnect=\”fusermount -u /media/GalaxyNexus\”" >> ~/.bashrc
source ~/.bashrc(再次注意签名的全角和半角符号,手动输入一遍避免出错)
7. 然后,此时运行android-connect可能还不能识别设备,注销之后登录进去,再次运行android-connect,即可成功。不过,挂载的过程有点慢,需要等上1分钟左右,开始可能误以为没有挂载,不过后来会弹出相应的文件浏览器,并可以完整的看到文件,拷贝,编辑。
至此,整个过程成功,经过测试完全可用。
附记:如果严格按照上面的步骤,并且注意了全角和半角符号,仍然出现了问题,可以检测是否是libmtp这个库运行不正常,可能在最新的Ubuntu下面,较久版本的不能正常运行,此时,可以按照下面的步骤来更新到最新的libmtp库,然后即可成功。经过测试,也没问题(此步骤可以在前面所有步骤之前进行)
sudo apt-get install libusb-devwget http://downloads.sourceforge.net/project/libmtp/libmtp/1.1.1/libmtp-1.1.1.tar.gztar -xvf libmtp-1.1.1.tar.gzcd libmtp-1.1.1./configure --prefix=/usrmakesudo make installsudo cp 69-libmtp.rules /etc/udev/rules.d (mayby not needed)sudo service udev restart实际上,经过上面这9个步骤之后,就可以使用mtp设备了,因为已经可以使用mtp-dectect,mtp-files等命令来查看设备以及相关的文件了,还可以操作其中的文件,但是,使用命令行的方式比较麻烦,所以才需要mtp-tools mtpfs这些工作实现MTP设备的挂载,拷贝,从而像磁盘那样操作。
相关文章推荐
- 如何在Ubuntu下面识别Galaxy Nexus设备
- 如何在Ubuntu下面识别Galaxy Nexus设备
- Ubuntu 12.04下面设别无法识别android设备的解决方法
- Ubuntu 12.04下面设别无法识别android设备的解决方法
- [Android] ubuntu 下不识别 Android 设备
- Linux下面写i2c设备的驱动-如何枚举产生i2c_client
- Vmware ESXi 应用之如何让虚拟机识别USB设备
- Ubuntu12.04下adb无法识别设备 Ubuntu下adb看不到设备的解决方法 博客分类: ubuntu 这个问题纠结了我2天,本来过去在ubuntu 9下连接HTC
- ubuntu下面找不到设备的绝招
- ubuntu 10.04使用vbox如何启用usb设备
- ubuntu 12.04LTS adb命令不识别设备的解决办法
- ubuntu下VitualBox虚拟机识别USB设备的方法
- ubuntu下解决不能识别外部设备的方法
- Ubuntu 系统中 Virtualbox 识别 USB 设备
- Ubuntu17.04下串口设备如何绑定USB端口号
- 如何使用SDK在Ubuntu设备(包括仿真器和桌面)上运用应用程序
- Ubuntu识别不了OMS(Ophone)的手机设备
- ubuntu不识别设备
- 如何解决USB设备在Windows Vista下不能识别的问题!
- 如何识别Cisco设备的型号编码