When you first get started at XDA-Developers, it can appear awfully daunting with all the different files available for different things. From kernels to ROMs to apps and themes, there are countless different types of work available to try on XDA, and countless formats each can be shared in.
The “Flashable Zip”
The most common file type you will come across on XDA-Developers is the so-called “flashable Zip”. This is a standard .zip file containing some files in a folder called META-INF, which instruct your phone to install the contents of the zip file onto its internal storage, and carry out any required installation tasks. A flashable zip file is installed using a custom recovery image (this is a menu which is available outwith the regular operating environment on your phone, often held in another partition).
Out of the box, your phone will have a recovery image, but it will be “secure”, or locked down, preventing you from installing anything that has not been officially released by the manufacturer of your phone. Before following these instructions, you need to ensure you have installed a custom recovery image such as TWRP (TeamWin Recovery Project) or CWM (ClockworkMod Recovery). The method of doing this depends on each device, so refer to the stuck threads at the top of your device’s forums for more information and assistance.
A flashable zip can contain a new ROM (a full new firmware for your device), a new kernel (the Linux core of Android), a theme (a changed graphical interface for a particular ROM), or even an app (that is installed onto the system partition of the device).
To install a flashable zip, you should first copy the downloaded zip file onto your phone’s user storage. This may be an SD card, or may be internal to the device. It is easiest to place the file in the root directory (main folder) of the storage, but this is not required – you can use folders if you wish.
Next, power off the device, and power it on, entering recovery mode. The procedure to do this varies depending on the device, so refer to your device’s forum on XDA for more information about how to do this.
It is always wise to carry out a backup at this point, in case something goes wrong while installing your zip, or if it is broken, or you wish to revert to your previous state. Use the backup option within recovery to do this, and the restore option to revert back if required. This is commonly referred to as a “Nandroid Backup”.
Once in the recovery image, use the option to “Install ZIP from sdcard” (or similar wording, depending on the recovery image you use). Select the desired zip file from the list of zip files, and confirm you wish to proceed.
You should always refer to the instructions given along with the zip file – if they instruct you to “wipe” your phone, you should use the “wipe data/factory reset” option, before installing the zip file. If you are told to clear dalvik cache, you should use that option in the recovery image. Finally, once this has been completed, reboot the device using the option in the menu, and installation should be complete.
Motorola Specific – RSD Lite
If you need to restore a Motorola device to its factory defaults, an SBF file is used to carry this out. This file contains a copy of the device’s software, as released by Motorola. In order to install an SBF, obtain the correct version of RSD Lite for your device, and the desired SBF file.
Firstly, rename the SBF file to use a short filename (maximum 5 characters plus the extension SBF), in order to prevent issues when trying to find the file.
Power off your device, and enter the bootloader (refer to your device forum for information on how to do this). Connect your device via USB to your computer, and ensure that the required drivers are installed. Again, refer to your device forum if you are unsure about this step.
Next, launch RSD Lite, and click on the button with elipses (…), and select your renamed SBF file. Be sure you have the correct file, and choose Uncompress, and start to flash the device. Once the process is completed, your device should reboot, and be running a clean install of the selected official firmware.
In the event of receiving a “Please manually power up this phone” message, leave RSD Lite running for 5 minutes, and check to see if it is recognised. If not, unplug the device, boot to stock recovery, and carry out a wipe of data (factory reset). Wipe the cache, and reboot.
Samsung Specific – Using ODIN
If you have a ROM in a .tar or .tar.md5 file, this is a file suitable for flashing using Samsung’s ODIN tool. Prior to beginning this process, ensure you have the suitable drivers installed for your device. These can be installed by KIES, or from a driver package likely available in the device specific forum.
Next, download the correct version of ODIN for your device, and unzip it to a folder. Download the ROM ODIN package you wish to flash, and place this in an accessible location on your hard drive.
To prepare the device, enter download mode (this is usually carried out by holding the volume-down button, the home button, and the power button). If warned about the risks of using custom firmware, press volume-up to confirm. Once in download mode, connect the device to your computer, and the drivers should be installed.
Start ODIN, and ensure a yellow box appears in the ID:COM area of the screen, with a value such as “0:[COM3]”. The COM number may vary, but the device should appear here correctly. If it does not, verify you have entered download mode correctly, and have installed the required drivers for using the device with ODIN.
If you have a single .tar or .tar.md5 file, you should place this into the PDA box by clicking on the button labelled “PDA”. If you have a separate PHONE and/or CSC file, you can add them here. Normally this will not be required as the PHONE and CSC are contained within the main tar file.
Ensure Auto reboot is ticked, F. Reset time is ticked, and NONE of the other boxes are ticked. In particular, ensure Re-Partition and Phone EFS Clear are NOT ticked! Click Start to flash the device.
Once the process is completed, your device ID will appear with a green PASS message, and the device will reboot. The process is now completed, you can close ODIN and disconnect the phone.
In the event of a boot loop (where the phone keeps on rebooting over and over again), turn off the device by removing the battery, and boot into recovery. Carry out a wipe of user data (factory reset), and reboot the phone. You can also find relevant information in your device’s forum should you have any issues performing this procedure.
HTCDev Unlocked Phones via Fastboot (and Nexus Devices)
If your device supports Fastboot, such as unlocked Nexus devices, or is bootloader unlocked, such as phones unlocked via the HTCDev system, it is also possible to flash images to the device using fastboot.
Before using this process, it is assumed that you have already unlocked your bootloader, and configured fastboot by installing the Android SDK and the latest version of the platform tools. In addition, you should have the device drivers for your phone. All of these should be available if you have unlocked your bootloader (as the process requires them).
To install an image to a partition, the command “fastboot flash <partition> filename.img” is used. Here, partition refers to which device partition you wish to install to. The ones commonly required are “boot” for the kernel, “recovery” for the recovery image, and “radio” for the radio image.
There are more partitions available to be flashed on some devices – it is recommended that you refer to your device forum for further information on using fastboot to flash a device. In addition, on an S-OFF or fully unlocked device, it is possible to “fastboot boot” a kernel or recovery image, causing the phone to execute it without actually flashing it (it will not be retained after a reboot), which can aid in the testing of experimental kernels without needing to repeatedly flash the device.