最近入手了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 restart
sudo mkdir /media/GalaxyNexus
sudo chmod a+rwx /media/GalaxyNexus
sudo 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-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
實際上,經過上面這9個步驟之后,就可以使用mtp設備了,因為已經可以使用mtp-dectect,mtp-files等命令來查看設備以及相關的文件了,還可以操作其中的文件,但是,使用命令行的方式比較麻煩,所以才需要mtp-tools mtpfs這些工作實現MTP設備的掛載,拷貝,從而像磁盤那樣操作。
最后,感謝Ubuntu社區那些無私奉獻的人們,為我們的生活帶來更多美好的東西,本文參考資料如下:
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 閱讀(2633)
評論(0) 編輯 收藏 引用 所屬分類:
Unix/Linux 、
Android