最近入手了Galaxy Nexus手機(jī),但是由于一直在Ubuntu下面開發(fā),而Ubuntu不能直接識(shí)別GalaxyNexus的MTP設(shè)備,導(dǎo)致了16G的Rom在Ubuntu下面完全無(wú)法識(shí)別,只能通過(guò)adb push和adb install的方法來(lái)安裝程序,沒(méi)有充分發(fā)揮磁盤存儲(chǔ)器的作用。因此,上網(wǎng)搜索了幾種辦法,折騰了挺久終于解決了。
解決辦法如下:
1. 安裝必要的MTP工具集:
sudo apt-get install mtp-tools mtpfs
2. 打開Galaxy Nexus,選擇MTP設(shè)別的存儲(chǔ)方式,而不是PTP。如圖示。
3. 檢測(cè)你的設(shè)備的idVendor和idProduct號(hào)。mtp-detect | grep idVendor (獲取的號(hào)碼就是輸出的紅色字段,idVendor: 04e8)
mtp-detect | grep idProduct(獲取的號(hào)碼就是輸出紅色字段,idProduct: 685c)
4. 編輯設(shè)備文件,沒(méi)有就添加。gksu gedit /etc/udev/rules.d/51-android.rules
在其中加入:SUBSYSTEM==”usb”, ATTR{idVendor}==”VENDORID”, ATTR{idProduct}==”PRODUCTID”, MODE=”0666″
其中,VENDORID替換位你簽名的idVendor的值,即04e8,后面的PRODUCTID同理。注意,引號(hào)一定注意全角和半角,不放心手動(dòng)輸入一遍。
5. 啟動(dòng)相關(guān)服務(wù)和規(guī)則,設(shè)置掛載點(diǎn),并賦予讀寫可執(zhí)行權(quán)限。
sudo service udev restart
sudo mkdir /media/GalaxyNexus
sudo chmod a+rwx /media/GalaxyNexus
sudo adduser YOURUSERNAME fuse(將你的用戶名替換這里的YOURUSERNAME)
然后編輯文件,gksu gedit /etc/fuse.conf,將最后一行簽名的#去掉,即將原來(lái)的“#user_allow_other”變?yōu)?/span>“user_allow_other”。
6. 然后,利用別名機(jī)制,實(shí)現(xiàn)掛載和彈出。
echo “alias android-connect=\”mtpfs -o allow_other /media/GalaxyNexus\”" >> ~/.bashrc
echo “alias android-disconnect=\”fusermount -u /media/GalaxyNexus\”" >> ~/.bashrc
source ~/.bashrc(再次注意簽名的全角和半角符號(hào),手動(dòng)輸入一遍避免出錯(cuò))
7. 然后,此時(shí)運(yùn)行android-connect可能還不能識(shí)別設(shè)備,注銷之后登錄進(jìn)去,再次運(yùn)行android-connect,即可成功。不過(guò),掛載的過(guò)程有點(diǎn)慢,需要等上1分鐘左右,開始可能誤以為沒(méi)有掛載,不過(guò)后來(lái)會(huì)彈出相應(yīng)的文件瀏覽器,并可以完整的看到文件,拷貝,編輯。
至此,整個(gè)過(guò)程成功,經(jīng)過(guò)測(cè)試完全可用。
附記:如果嚴(yán)格按照上面的步驟,并且注意了全角和半角符號(hào),仍然出現(xiàn)了問(wèn)題,可以檢測(cè)是否是libmtp這個(gè)庫(kù)運(yùn)行不正常,可能在最新的Ubuntu下面,較久版本的不能正常運(yùn)行,此時(shí),可以按照下面的步驟來(lái)更新到最新的libmtp庫(kù),然后即可成功。經(jīng)過(guò)測(cè)試,也沒(méi)問(wèn)題(此步驟可以在前面所有步驟之前進(jìn)行)
sudo apt-get install libusb-dev
wget http://downloads.sourceforge.net/project/libmtp/libmtp/1.1.1/libmtp-1.1.1.tar.gz
tar -xvf libmtp-1.1.1.tar.gz
cd libmtp-1.1.1
./configure --prefix=/usr
make
sudo make install
sudo cp 69-libmtp.rules /etc/udev/rules.d
(mayby not needed)sudo service udev restart
實(shí)際上,經(jīng)過(guò)上面這9個(gè)步驟之后,就可以使用mtp設(shè)備了,因?yàn)橐呀?jīng)可以使用mtp-dectect,mtp-files等命令來(lái)查看設(shè)備以及相關(guān)的文件了,還可以操作其中的文件,但是,使用命令行的方式比較麻煩,所以才需要mtp-tools mtpfs這些工作實(shí)現(xiàn)MTP設(shè)備的掛載,拷貝,從而像磁盤那樣操作。
最后,感謝Ubuntu社區(qū)那些無(wú)私奉獻(xiàn)的人們,為我們的生活帶來(lái)更多美好的東西,本文參考資料如下:
1.
Getting MTP to work with a Galaxy Nexus?http://askubuntu.com/questions/87667/getting-mtp-to-work-with-a-galaxy-nexus/88481#88481
posted on 2012-05-10 00:52
deercoder 閱讀(2640)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Unix/Linux 、
Android