In post-4.0 versions of the Android OS, Google has disabled the USB-mass storage functionality that enabled your desktop to show the file contents of your Android Device as soon as you connected your device with a USB cable to your Desktop, in favour of the MTP (Media Transfer Protocol).
Now, with Windows, this is not a problem thanks to a well written driver. No wonder, as Microsoft are the ones who wrote it.
This poses a challenge for those of us who run other Operating Systems. After hammering on this issue for a while and attempting several suggestions, I found a solution that worked for my Ubuntu 12.10 64 bit OS: http://askubuntu.com/questions/216246/ubuntu-nexus-7-as-usb-device-does-not-work/237388#237388
Summed up, these are the steps:
- Install the
go-mtpfslibrary, which you’ll be using to connect:
sudo apt-get install golang fuse git-core libmtp-dev libfuse-dev sudo adduser $USER fuse mkdir /tmp/go GOPATH=/tmp/go go get github.com/hanwen/go-mtpfs sudo mv /tmp/go/bin/go-mtpfs /usr/bin/ mkdir ~/MyAndroid
Note: At some point during installation, a screen may come up in your terminal asking if you want to share information about public Go packages you install with the developers. Feel free to answer this question however you want.
- Mount your Nexus 7 or whatever using this command after plugging it into your USB port:
go-mtpfs ~/MyAndroid &
- When you are finished, unmount your device by using this command:
fusermount -u ~/MyAndroid