NOTE: The Nexus 4 does not have a physical sd card. However, the user directory on the phone is located at /storage/sdcard0/ and will, for the purposes of this guide, be referred to as the sdcard.
Making sdcard backups with MTP is often unreliable. First of all, files are not always immediately updated with the ones on your phone. As a result, there may be folders missing, files that you deleted on your phone still showing up, etc. Also, the Date modified values of files are changed to the time that the files were moved onto your computer, which can cause errors when restoring them to your phone; i.e. photos in gallery not appearing in order. Other times, MTP is simply not available (if you have an older computer or an unsupported OS, for example). The best way to go about a backup is by using adb (Android Debug Bridge).
So, let's get started.
1. First, you're going to need some variant of the Android SDK/Software Development Kit as well as the Nexus 4 drivers installed. I won't show you how to do this, as there are already many guides and tutorials available.
Here's the link to the official Google ADT/Android Developer Tools.
2. Once you've got everything on your computer set up, open up the Settings app and go to About phone. Scroll down and quickly tap the Build number tile seven times. You have now enabled Developer options.
Go back, enter Developer options and enable USB debugging. An authorization pop-up will appear; allow it.
3. Now, open up a command prompt window and change directory to the location of adb on your computer. If you installed the official SDK, this will be under
Code:
folderyouextractedto\sdk\platform-tools
Connect your phone via USB and type
Code:
adb devices
You should see something like this:
Code:
List of devices attached
random numbers and letters device
If you don't, you probably don't have the drivers installed properly OR you failed to authorize your computer for USB debugging.
4. Make a folder on C:\ (or whatever your OS drive is) with NO SPACES in the file name. You can now make the backup.
Type
Code:
adb pull /storage/sdcard0/ C:\folderyoumade
You are now backing up your entire sdcard. This can take a while, depending on how many files you have on your phone.
When the copy is complete, you should see something like
Code:
x files pulled. 0 files skipped.
0 files skipped is very important, as it confirms that all of the files were copied over correctly.
To backup specific folders on it, simply change the command to that directory on your phone.
i.e.
Code:
adb pull /storage/sdcard0/folderyouwant/ C:\folderyoumade
5. To restore a backup, simply type
Code:
adb push C:\folderyoumade /storage/sdcard0/
NOTE: Restored folders DO NOT replace existing folders on your sdcard. They are merged (so pre-existing files in a folder remain, while any new files are copied in).
NOTE: I recommend that you do not use your phone during a backup or restore so as to make sure all files are properly copied.
Remember, this is only an sdcard backup. App and system data are NOT copied over. If you want to make a backup of your app data, the easiest way to do this is with Titanium Backup, Helium, or a similar app and then backup those files using adb pull. If you wish to make a complete backup of your file system (not including sdcard though), make a nandroid from recovery.
Last edited: