Skip to content

toliver/go-mtpfs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INTRODUCTION

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.



COMPILATION

* Install the Go compiler suite; e.g. on Ubuntu:

    sudo apt-get install golang-go

* Install libmtp header files

    sudo apt-get install libusb1-devel
    
* Then run

    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.

* A 32 and 64-bit linux x86 binaries are at

  http://hanwen.home.xs4all.nl/public/software/go-mtpfs/


USAGE

  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.


CAVEATS

* 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.


FEEDBACK

You can send your feedback through the issue tracker at
https://github.com/hanwen/go-mtpfs

About

Mount MTP devices over FUSE

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published