Last built long ago using and 50 seconds of time
Go-mtpfs is a simple FUSE filesystem for mounting Android devices as a MTP device.
It will expose all storage areas of a device in the mount, and only reads file metadata as needed, making it mount quickly. It uses Android extensions to read/write partial data, so manipulating large files requires no extra space in /tmp.
It has been tested on various flagship devices (Galaxy Nexus, Xoom, Nexus 7). As of Jan. 2013, it uses a pure Go implementation of MTP, which is based on libusb.
sudo apt-get install golang-go
sudo apt-get install libusb1-devel
mkdir /tmp/go export GOPATH=/tmp/go go get github.com/hanwen/go-mtpfs
/tmp/go/bin/go-mtpfs will then contain the program binary.
# edit to suit libusb installation: vi /tmp/go/src/github.com/hanwen/go-mtpfs/usb/usb.go go install github.com/hanwen/go-mtpfs
mkdir xoom go-mtpfs xoom & cp -a ~/Music/Some-Album xoom/Music/ fusermount -u xoom
After a file is closed (eg. if “cp” completes), it is safe to unplug the device; the filesystem then will continue to function, but generates I/O errors when it reads from or writes to the device.
It does not implement rename between directories, because the Android stack does not implement it.
It does not implement Event handling, ie. it will not notice changes that the phone makes to the media database while connected.
You can send your feedback through the issue tracker at https://github.com/hanwen/go-mtpfs
This is not an official Google product.