[Samsung Galaxy Nexus] Petrovski80:
Problems

"The contents of the /sdcard partition is not properly displayed by Windows Explorer. I'm missing files/folders and/or I'm seeing files/folders that shouldn't be on my /sdcard. When I browse my /sdcard with a file manager app the contents are displayed OK."

"Whey copying files, the process hangs during transfer. Happens mostly when copying a large number of files."

"The /sdcard contents are listed, but it's not possible to copy anything from or to the /sdcard."

Cause

The Galaxy Nexus does not support the USB mass storage protocol, but relies on MTP (Media Transfer Protocol) when connected to a computer using a USB cable. The implementation of MTP is buggy at best. Transferring files is slower and less reliable when compared to USB mass storage. Windows Explorer is often unresponsive for shorter or longer periods when browsing the /sdcard with it and may not list the contents of the /sdcard properly. These problems are Windows version independent, despite the fact MTP is natively supported since Windows Vista. Problems are reported with XP, Vista and 7 on x86 and x64 architectures. Using alternative file managers instead of Windows Explorer also doesn't resolve the issue.

Solution

I've find it best to work around this issue by avoiding to use MTP by using the following methods:

Direct methods

1) Using ADB

Prerequisites

- ADB binaries

- USB debugging option enabled in developer options

- Galaxy Nexus connected to the computer with USB cable (rooted phones can also use ADB via a Wifi connection)

Steps

The Android Debug Bridge allows to copy files/folders from and to the /sdcard by using the adb pull and adb push commands on a Windows command line interface (DOS prompt). You'll need the ADB binaries on your computer to use this method. You can get them by either installing the Android SDK or by downloading this small package with all the binaries you need (recommended): http://xdaforums.com/attachment.php?attachmentid=1031911&d=1335747189

Extract the files to a folder of your liking. To use adb commands, you must open a command line and either navigate to the folder that contains the adb files (cd D:\MyAdbFilesAreHere) OR you can add the absolute folder location of that folder to the Windows PATH system variable so you can use adb commands regardless of the current directory you're in.

Syntax

adb push <local> <remote> - copy file/dir to device

adb pull <remote> [<local>] - copy file/dir from device

Examples

If you want to copy your entire /sdcard to D:\MyGalaxyNexus: adb pull /sdcard D:\MyGalaxyNexus

If you want to copy just the DCIM folder (camera images): adb pull /sdcard/DCIM D:\MyGalaxyNexus\CameraImages

If you want to copy a file from your computer to the /sdcard: adb push D:\MyGalaxyNexus\musictrack.mp3 /sdcard/music

Advantages of this method

- Good transfer speeds.

- Possible to automate backups by creating simple Windows batch files.

Disadvantages of this method

- Using a CLI is less intuitive than a GUI.

- File attributes are not preserved (created, modified, accessed attributes).

2) Accessing a shared folder on your computer with a file manager app on your device via Wifi

Prerequisites

- Wifi connection

- Computer and Galaxy Nexus connected to the same LAN

- A shared folder on your computer

- A file manager app that supports accessing LAN shares (for instance: ES File Explorer)

Steps

Create a folder anywhere on your computer and share it by giving the user "Everyone" read/write permissions on it (note: if you are on a network, this means every user on that network can access your folder AND write/delete files in it. For most home situations that's not an issue though): right click on the folder > Share With > Specific People > use the combox to select "Everyone" > click Add. Now change the permission level to Read/Write. You also need to turn off 'password protected sharing' for this to work via Control Panel > Network and Sharing Center > Advanced Sharing Settings > expand Home or Work > section Password protected sharing > turn off password protected sharing.

Finally, install ES File Explorer via the Play Store and launch it. Change the view to LAN. Tap New > tap Scan. Your computer's IP should be listed. Tap it. It will show an overview of shared folders. Ignore the admin shares Windows creates by default (all shares with a dollar sign suffix) and tap the folder you created earlier. Now you can copy any file from/to this folder using ES File Explorer.

Advantages of this method

- Decent transfer speeds.

- Copying files/folders with a GUI.

Disadvantages of this method

- All copy operations must be done on the phone.

- File attributes are not preserved (created, modified, accessed attributes).

3) Using an FTP server on your device

Prerequisites

- Wifi connection

- App that allows FTP access to your device (for instance: ES File Explorer)

- FTP client (for example: FileZilla)

Steps

This is pretty straightforward: open ES File Explorer, go to 'settings' > 'remote settings' and enable 'remote manage'. The app will provide you with an IP address & port which you have to enter in your FTP client. After you have connected, you can transfer files from/to the device.

Advantages of this method

- Decent transfer speeds.

- Copying files/folders using a Windows program.

Disadvantages of this method

- File attributes are not preserved (created, modified, accessed attributes).

Indirect methods

1) Using the cloud

Prerequisites

- An account with a cloud storage service such as Google Drive, Dropbox, Box.com, etc.

- A Wifi connection (not an actual prerequisite, but using mobile data is a lot slower and will have a large impact on your data plan)

Steps

This is pretty straightforward to explain: upload the files you wish to backup to the cloud service of choice, and in turn download them to your computer.

Advantages of this method

- Decent transfer speeds.

- Copying files/folders with a GUI.

- Preserves file attributes.

Disadvantages of this method

- Not a direct method.

- Dependent of third-party services (service or internet connection might be down).

2) USB on the go

Prerequisites

- USB on the go cable

- USB thumb drive

- Root access

- App "Stick Mount" by ChainFire

Steps

With stick mount, a USB OTG cable and a USB thumb drive you can mount a USB thumb drive on your phone. This allows you to copy files and folders from the /sdcard to the mounted USB thumb drive using a file manager app. In turn, the files on the USB thumb drive can be copied to your computer.

Advantages of this method

- Good transfer speeds.

- Copying files/folders with a GUI.

- Preserves file attributes.

Disadvantages of this method

- Not a direct method.

- Needs a rooted device.

- Dependent of a third-party app (might be pulled from the play store or will not be updated).

GPsoft Directory Opus

Directory Opus is a file manager for windows, offering complete system integration thus a full replacement for Windows Explorer. Since version 10.5, Directory Opus has full MTP support built-in. Although certain operations cause long delays (copy-paste for example), the MTP support is robust enough for me to abandon ADB for file transfers.