Diving into the world of rooting and modding your Android phone or tablet can feel like an overwhelming endeavor. Open a forum thread with some instructions and you’ll find yourself staring at all sorts of strange words and confusing combinations of letters. ROMs, Kernels, Nandroids, TAR images…what does it all mean?! We’re here to help! Below you’ll find the newb’s dictionary to the strange language of modding/hacking. This is not intended to be a technical definition of each concept, but an easy to understand explanation for the average Joe.
Get reading after the break:
Disclaimer: We chose NOT to put this “dictionary” in alphabetical order because we believe it follows a logical order from basic to more advanced hacking knowledge that will be easier for the complete beginner to follow and understand.
Root - Acquiring ”root” is the process of gaining total control over your device. When you purchase your device, there are certain files and systems that you cannot access because they are blocked by the manufacturer. By aquiring root you gain access to these files, allowing you to modify, replace and even delete them. This allows you to take total control over how the software of your device looks and works.
Bootloader - Before you can root your device, you must unlock your bootloader. The bootloader is a line of code that is executed even before your Android operating system boots up. The bootloader’s code is specific for each make and model of the many Android devices. Bootloaders come “locked” because the device manufacturer doesn’t want you tinkering with the software that they worked so hard to optimize for that particular piece of hardware. Unlocking the bootloader allows you to tinker with the phone’s firmware, or even replace it with a custom firmware (aka: ROM). It is important to note that unlocking your bootloader will erase all data stored on your phone, essentially putting it back to a “factory reset” state, so you’ll want to save any pictures, music, or any other important files that are on your device.
Recovery - Once your bootloader is unlocked and you have rooted your device, you will need a custom recovery. A recovery is a piece of software that is called up separate from the actual Android operating system. Its purpose is to make changes to the Android OS at a core level, such as delete user data, apply updates and more. The stock recovery is limited in function, so if you are planning on modifying/hacking/rooting your phone, you will need to install a “Custom Recovery” such as Clockwork Mod Recovery. A custom recovery will allow you to make backups, restore them, wipe partitions, install custom software and more.
Backup / Nandroid - Once your custom recovery is installed, you will want to make a backup (also known as a Nandroid). A Nandroid is simply a complete and total backup of your phone. It will store all of your data, apps, settings, SMS messages, and more, basically allowing you to restore your phone to the exact state that it was in when you made the backup.
Wipe - Now that your backup is made, you don’t have to be afraid of making changes to your phone or losing data, since you can always restore it (just be sure to not delete the backup!). Now you can “wipe” your phone without worry. Wiping is deleting all the user data from your phone, essentially reseting it to its factory state. You can also wipe (ie: delete) other partitions of your phone like the cache partition. It is always recommended to wipe your phone before installing a custom ROM (we’ll get to that in a second). You can wipe your phone via the custom recovery you installed.
Flashing - Flashing is the process of installing some sort of software or code via your custom recovery.
Flashable ZIP - A flashable ZIP is the actual file that you install or “flash” via the custom recovery to make changes to your phone’s software. It is a normal .zip file that contains the lines of code to modify your software. These Flashable ZIPs can be used to flash a ROM, Kernel, Radio, mod, and more, which we will define below.
ROM - A ROM is the main firmware or operating system that your phone runs. Just like Windows 7 runs on your PC, or Mac OSX runs on your Macbook, a ROM is the main software you interact with to use your phone. It includes all the system apps (messaging, email, phone), the launcher, the notification bar…everything really. Google’s Nexus line runs a “stock” Android ROM (meaning it’s unmodified) while manufacturers make significant changes to the look and feel of their ROMS before they ship them with your phone (for example: note the difference between the Samsung Galaxy S III’s software and the software on LG’s Nexus 4) . Code-savvy developers have taken the manufacturers’ code and created their own “Custom ROMs”. These ROMs can dramitically enhance the look and feel of your phone, and often add tons of useful features. Two very popular custom ROMs are CyanogenMod and MIUI. A ROM is made for a specific model phone and comes in a Flashable ZIP file that is installed (“flashed”) via your custom recovery.
Kernel - Unlike a ROM the Kernel does not alter the look and feel of your phone, but is a “deeper” line of code that rests beneath the surface, so to speak. It tells the software how to interact with the hardware. A custom kernel is a kernel that developers have added code to, in order to create all sorts of new options and abilities. They might add code to make the phone’s processor run at a higher speed, or make the battery draw less power when the phone is in “idle” mode. Kernels are like the soul of the software. They can be flashed in the custom recovery and the files are usually called Tar Images or Zimages.
Radio / Basebands / Modems - The radio / baseband / modem is a firmware that allows your phone to connect to the wireless network. This firmware controls basic low-level functions of your phone like cell-network connectivity, Wi-Fi, and GPS. Oftentimes an updated radio / modem will help with signal strength issues, battery drain and more. The radio / modem firmware is specific to each device and carrier and is flashed via custom recovery.
Mod - A “mod” is simply a modification made to the phone’s software. This can include adding functionality or changing the visual layout of your phone, like moving the location of the clock to the center of the notification bar, or inverting the colors in the SMS app. Mods are usually Flashable Zip files that are flashed in the custom recovery.
Brick – A brick is when your phone won’t recover from a bad rooting/flashing process. Your device becomes unresponsive and unable to be restored…essentially making it a “brick” or a very expensive paperweight. Bricking your phone usually happens when you do not follow instructions carefully or if a device does not allow for root. Bricking your phone is a real possibility and risk in rooting and modding your phone, but it is very rare to occur, and most unlikely to occur if you simply follow the instructions.
Superuser (SU) – If you follow the instructions and root correctly, you will become a Superuser (SU), which means you become a complete and total admin of your device, allowing for most, if not all root permissions to be accessible.
Kang - A Kang is a ROM or mod that uses a significant portion of code created by another developer.
Overclock / Underclock - This means that you have installed a custom Kernel that has allowed you to speed up or slow down your phone’s processor speed. Most phones are clocked at a certain processor speed (ie: 2.4 MHz), but if you overclock it, you are allowing your process to push the limits by working at a higher speed. Overclocking will make your phone perform faster, but often comes at the expense of battery life. Underclocking does the exact opposite of overclocking. It makes your processor perform at a lower speed, slowing down perceived performance, but helps increase battery life.
Under Volt (UV) - Undervolting is a feature that is enabled in certain custom kernels. Undervolting lowers the amount of power your processor needs to perform at its normal level which, in theory, saves you battery life. The feature is known to cause issues in many phones.
APK - An APK is the file name for an Android application that can be installed on your phone. All apps downloaded from the Google Play store come as APK files. APKs can also be “sideloaded” by downloading them from outside of the Google Play store and placing on the phones internal or external memory. To install a sideloaded APK you need to enable that option in settings, then find the APK file on your phone and tap it to begin the installation process.
Odex / DeOdex - DeOdexing APKs is a way that developers optimize APKs (apps) to be compatible with different themes that themers have created. Please see this very good explanation on Odex / DeOdex that we wrote about previously.
Android SDK - Android SDK is a software development kit written by Google that enables developers to create applications for the Android platform. The Android SDK includes sample projects with source code, development tools, an emulator, and required libraries to build Android applications. In many cases, if you want to hack your phone, you will need to have the Android SDK installed on your computer.
ADB - ADB stands for Advance Debug Bridge which is a tool that comes in the Android SDK. ADB lets you modify your device (or device’s software) via a PC command line. ADB is mainly for developers to create and test their apps, but it can also be used by curious hackers (like you!) to access your phone from your computer and run some commands via your computer’s command prompt.
Well, that’s it for now! Hopefully this has demystified some of the strange language for you beginner hackers and interested parties. Now that you have a basic understanding of the words that you find in the forums, be sure to do some in-depth reading on how to properly root and mod your Android device. Remember, if your device breaks, it’s no one’s fault but your own. Check out XDA Developers to find many great resources for hacking your specific device. Happy hacking!