Android devices, esp. phones, are a marvel of engineering, and it is surprisingly open to modifications and customizations that leaves other devices in the dust. Modifications can be as simple as modifying the look and feel, all the way to true hardware modification to do things you never thought possible with a phone.
This guide is about how to truly customize your Android device (primarily phones, though some tablet mods will be discussed), everything from boot animation to ROMs and themes, and even hardware mods like battery, case, and more.
For organization, this guide will be in two parts: hardware, and software. This is part 1: software mods, and it will have the following sections:
- custom ROMs and overclocking kernels
- boot animation
- home launcher
- icons and folders in home launcher
- wallpaper and live wallpaper
- dialer, call log, and SMS alternatives
- camera alternatives
- web browser alternatives
- keyboard and input alternatives
WARNING: MAKE A BACKUP FIRST!
Before you attempt major root-required modifications, such as Custom ROM, Boot Animation, ROM Themes, and so on, please root your device first, then install Clockwork Recovery (or install ROM Manager, which also installs Clockwork Recovery), then make a Nandroid Backup, before you actually attempt any such modification!
If you manage to royally mess up the system, you can recover using your Nandroid Backup. Otherwise, you will have a VERY hard time restoring the phone!
What is Rooting? How do I do it?
Rooting means unlocking the phone's system area so you can write to anywhere in the system. The term is borrowed from Linux, where "root" means gain "superuser" permissions and control of all portions of Linux system.
To give an example, pretend your phone is a car. In ideal conditions, you never have to open the engine compartment, just fill it with fuel periodically and it will work fine. So the "hood" is locked.
Rooting unlocks the hood and lets you tweak inside the engine compartment, where the manufacturer never wanted you to go. However, rooting by itself doesn't do anything. You have to actually change things to have effects on your device.
What is ROM Manager, Clockwork Recovery, and Nandroid Backup?
From the top... Clockwork Recovery is an app from Koush's company ClockWorkMod. When installed on a rooted Android device, it allow you to bypass the normal bootup process, and instead go into this simplified "recovery menu". Obviously, you need to root the device before you can install Clockwork Recovery.
In this recovery menu, you can make full backup of every bit of app storage and system partitions. This is known as a Nandroid backup. It's a "snapshot" of your system. If you restore the backup, it'd be as if your system went back in time.
So what is ROM Manager? ROM Manager is an app that will trigger the recovery mode instead of you using a specific keystroke to bring it up.
Custom ROMs and Kernels (root required)
Danger: High (if you do it wrong, you have a chance of bricking your phone, go into boot loop, and so on)
If you root your phone, you can load custom ROMs, which replaces your "factory ROMs" with special customized versions with more features.
Due to the way Android OS is open to all, different developers can take the source code provided by Google Android and customize it. Many of these developers choose to freely share the fruits of their labor with the rest of us.
Custom ROMs can provide a variety of benefits, from a pure / lean version of the OS free of any carrier customizations such as Bugless Beast, to feature-laden ROMS that change the way Android looks and feels, such as Cyanogen Mod and MIUI, and anything in between.
Custom ROMs are specific to the hardware, and is heavily dependent on manufacturer participation. If they release the source code of their ROM, the "modders" have a much easier time creating custom versions. If not, most functions must be reverse engineered, and that will take time. Even different revisions of the same hardware must have different ROMs.
If you are interesting in rooting your phone, and loading a custom ROM, please check XDA-Developers for instructions on your specific device. Please do NOT try "close enough", but must find instructions for your EXACT device. If you do not follow instructions, you will likely damage your phone to the point where it became a dead brick (i.e. "you bricked your phone"). And that will be VERY hard to undo.
If you want simplified process to try new ROMs, one of the best investments you can do is ROM Manager (if you have a compatible device). The app will filter the ROM list to only those compatible to your device so you don't have to search for them. It is an app frontend to Clockword Recovery, which generates Nandroid backups (have I confused you yet?) Don't worry. All you need to know is you can save full backups of your phone, and restore it at any time. This makes trying new ROMs virtually painless.
Another thing you can do after you root your device is overclock the CPU.
The original Motorola Droid CPU is factory rated at 600 MHz, but is clocked at 550 Mhz by Motorola for energy conservation. However, the factory provided "kernel" is capable of 800 MHz without tweaking, if you change a few ROM parameters.
Later, tweakers have managed to push up the speed possible. Some OG Droids can be clocked as high as 1.25 GHz (though it becomes a bit unstable, depending on the exact device). I have mine set to 1.2 GHz and it is quite usable.
Kernels are more universal than ROMs, but you should still only seek out specific kernels known to be compatible with your device. You can also download Kernel Manager to do that for you, or ROM manager can do that too, just not as pretty.
Danger: high (system themes), low (launcher themes and app themes)
Themes, also known as "skins" or "skin packs" generally comes in three types:
- System themes (i.e. ROM themes)
System themes are applied to the entire system and changes are universal, as they change the underlying system files and resources. To load system themes, you will need something similar to ROM Manager.
WARNING: Root required, unless you are dealing with CM7 style themes. Please see final section.
- Home Launcher themes
Home Launcher themes are applied to the Home Launcher you are using. Not all launchers will accept themes. Themes are only visible on the "home" screen(s) and in the app drawer.
To load such a theme, download it, and you should be able to choose it from within the Home Launcher's options screen. Specific instructions will vary. Please see later section on Home Launchers, or go directly to my Home Launcher Roundup Review
- Application themes
Application themes are specific to the application itself. Most apps have no themes at all. Some offer primitive theme such as black on white vs. white on black. Yet other apps would offer more elaborate themes that includes wholesale changes in all the bitmaps, borders, backgrounds, and more.
How to load application themes is entirely up to the application itself.
How to load the theme
Please see the detailed guide: How to Add or Change Themes on Your Android Device, including discussion of the Cyanogen Mod 7-style themes.
WARNING: Above boot animation may upset Apple fans. Viewer discretion is advised.
Danger: Relatively minor
While the device maker's logo is fixed into the ROM, it is possible to replace the carrier boot animation. For Motorola Droid, it's that scanning "red eye". There are two general ways to do this: tethered, or untethered.
Tethered Method uses your PC's debug capability to push files onto the Android devices. Your Android device does NOT need to be rooted. However, USB debugging must be turned on.
You will need to download and install Android SDK, and make sure you can connect to your phone through ADB (Android Debug Bridge) with the USB cable. For some HTC Android devices you may need to install HTC Sync app for your PC. Please follow these instructions from Unlockr
Once your Android SDK has been installed, please follow these instructions from AndroidForums
Installing custom boot animations (Credit to jcase from XDA):
1.) Download the desired animation, rename the zip file to "bootanimation.zip" and move into your Android SDK/Tools folder.
2.) Run the following adb command to push the animation into the proper place:
adb push bootanimation.zip /data/local/
Mac: (Thanks to Pitamakan)
1. Open a Terminal window, and run the following command. (This is assuming you installed the SDK in your Applications folder.) Replace "username" with the correct user name for your machine:
You should get a screenful of command syntax in response, which will confirm to you that adb is running and ready to go.
2. Put the bootanimation.zip file into the same folder that contains the adb file, and then run the following, again changing the username as needed.
/Users/username/Applications/android-sdk-mac_86/tools/adb push /Users/username/Applications/android-sdk-mac_86/tools/bootanimation.zip /data/local/
And that should do it!
(note: if you copy / paste or drag / drop the text onto the terminal window, it will type in the text for you.)
Search XDA Developers, Android Forums, and similar forums for links to existing boot animations.
As the boot animation is stored in the system area of the phone (the /system partition), Untethered method can only be done on a rooted phone. Please see "what is rooting" article to understand what is involved, what it really does, and how to do it.
Once you got that, you can use this app: Boot Animation Changer, to do it. If you pay for it you get a better collection of boot animations from his server.
Download Boot Animation Changer through Appbrain (free / $1.99)
You can also do it manually with a file manager such as ASTRO, RootExplorer, etc. that can access the /System partition and place your bootanimation.zip into /data/local
Danger: relatively low
To modify the notifications, you will need to enable the "mod" through accessibility services, which means a lot of the output goes through that so it's a potential security risk. However, with that comes the reward of getting something that is NOT the notifications built into Android.
Some custom ROMs have customizable notifications, but still they appear the same way as the default notification: a tiny icon with a text message, in the tiny status bar. These various notification mod apps change all that.
You can now have pop-ups style, iOS style, WP7 style, even full-screen animations.
Watch a video of "Awesome! Notifier" and see what it can do.
Danger: Relatively minor
Home Launchers comes in all sizes and shapes, from a purely text home launcher (no icons, no graphics) to a sumo-sized 14MB home with categorization in the app drawers, to a $15 USD super 3D "SPB Shell 3D" launcher, there is a home launcher that suits your fancy.
Some Home Launchers even accept themes, which is a part of the "theme" customization we mentioned before.
Some features to look for in a Home Launcher
- Speed / smoothness
- Number of home screens (up to 100 is possible... )
- Ability to change density of the icon grid
- Live wallpaper (not all do support it!)
- Widgets (not all do support it!)
- Themes (if so, what format?)
- static shortcut(s) or "docks" with customization
- Categorization / tagging of apps
- Ability to hide apps
- Social network integration (Twitter, Facebook, etc.)
- and more
To load a new Home Launcher, just download and install a new one, and hit the Home button, and you'll be prompted to choose among the choices possible.
For detailed review of 50 different Home Launchers, please see Review of 50 Free Home Launcher replacements for Android devices
Customizing Icons and Folders
Danger: virtually nil
Android have plenty options when it comes to customizing, and you can add folders to home screens, as well as add special icons if the themes do not have an icon for your specific app. You can download icon packs, and when all else fails, generate your own icon with icon creators.
Add Folders of Icons (App Groups)
Some people miss the idea of putting multiple app icons into a "folder" and organize their apps that way in Android Launcher. Fortunately, such ability can be easily added through a free app called Apps Organizer. It came with some default categories, but you can easily add new ones. Assign the apps to various categories, then you can add each category as a "folder" to desktop.
If you use Titanium Backup, TiB can use the categories you setup here as filters to help you decide which apps to backup and which ones not to.
Replace Icons with Custom Icons
Some launchers allow you to set custom icons for apps on the home screens. The exact steps will depends on the launcher. For Launcher Pro, these are the steps:
- Menu / Add
- Choose the specific application from the list of apps installed
- Tap the icon to choose a different one
- Pick from the gallery
- Remove the text label if needed
- Hit okay and there you go!
Even if your launcher do not allow custom icons, you can add the ability through a free app called Desktop Visualizer.
Generate Your Own Text Icons
If you want a minimalistic text-y look to your icons, but you can't find icons that fit your needs, you may be able to create some by using one of the two free apps listed below. They allow different fonts, different styles, and so on. They allow you to create icons with a very consistent look and feel.
Wallpaper, and Live Wallpaper
Danger: Virtually nil
Android Wallpapers, the picture that appears in the background of the "home launcher", comes in two varieties: regular (static) wallpaper, and live (animated) wallpaper.
Regular wallpapers are just that: static. They look pretty, and they don't move at all. On the other hand, they don't eat up any CPU power, and just a bit of memory. Wallpaper Utility Apps generally fall into the following categories:
- Downloader / Aggregator
Mabilo and Zedge,are apps that let you access their free wallpaper library, often categorized and searchable, covering all sorts of topics, from cute animals to movie screenshots. Unfortunately, source and copyright status of such wallpapers is often iffy, and quality sometimes is rather lousy. Still, it's a good start.
- Resizer / Reformater
Android Wallpapers needs to be a particular size to fit properly to your screen, but the wallpaper app itself does not do the resizing. However, there are several free apps such as Wallaby and Wallpaper Wizardrii that will resize the wallpaper for you into optimum size for your devices.
- Rotator / Auto-Changer
Having a static wallpaper doesn't mean it has to stay the same forever. There are apps that will change the wallpaper periodically based on various criteria, such as webcam images around the world, Flickr or Picasa account, or just your folder of pictures on the SD card.
Check out some of these Must-Try Android Wallpaper Utilities. As these are apps, just download, install, and run. Beware, some of these apps will use bandwidth to download the wallpapers.
Live Wallpaper are animated, and thus requires CPU power to run. They are apps in their own right, but you don't run them directly. They can eat up quite a bit of memory (I've seen them as high as 24 MB of RAM) for nicely animated ones, and they can eat up quite a bit of power and CPU cycles.
Quality of Live wallpapers vary greatly, but they generally fall into four types:
- Video Loops
Some live wallpapers are just converted bitmaps packaged into a looping animation, similar to an animated GIF. They are huge in size (usually over 10 MB) and hogs the CPU. Furthermore, source of these animations, often converted from movie clips, are also of dubious copyright nature.
- 2D sprite animations
Some 2D bitmaps (sprites) animated over a simple 2D background. They are relatively simple to make. Example would be "Matrix" Falling Rain wallpaper. In fact, you can make 2D Live Wallpapers yourself by using DIY OwnSkin (free) app.
- 2D Logic Graphics
2D logic graphics are based on algorithms that generally combine 2D sprite animations with some sort of logic such as swarm or flock behavior, or other patterns. Some may go pseudo-3D as well. Kaleidoscope and Plasma are some examples of 2D logic graphics.
- 3D animations
True 3D animations, such as 3D Fireworks, 3D Matrix, Spaceflight, and so on require a lot more computation, but looks much better. To generate smooth animations they usually eat up a lot of memory, 12-24 MB is not uncommon.
To load a live wallpaper, hit the menu button, and bring up "Wallpapers". Then choose "Live Wallpaper", and choose the one you downloaded.
For the most comprehensive roundup of live wallpapers, check out "Roundup of over 200 free live wallpapers for Android you can download now"
Ringtones and AlertTones
Danger: Virtually nil
RingTones and AlertTones are yet another way you can customize your Android experience.
Basically, Ringtone is played by the "phone" process when you receive a call. It is basically a MP3 file with a special name. You can download ringtones through apps like Mabilo Ringtones and its various clones, but the legality and quality of a lot of these crowd-sourced stuff is dubious.
An alternative is use an app like RingDroid or aRing to cut your existing MP3, then save that as a ringtone.
Android already lets you assign specific ringtones to specific contact. No special app is needed. Edit that specific contact's info and you'll see an option to assign a specific ringtone.
There is a lot of confusion on how to setup a custom ringtone for SMS. The reason this sounds confusing is SMS to Android is not a system event, but rather, an application event. Just as you can switch out an app for dialer, browser, and so on, you can swap out the app for SMS (text messaging) as well, and the sound must be set from within THAT application.
Some ask why do they get alerted TWICE when a message arrive. The answer usually is, because they setup ANOTHER SMS app, and did not turn off the alert from within the built-in system SMS app!
Thus, if you want to change the SMS "alert tone", you need to go into your SMS app and change it from within, rather than looking for a "system setting". There isn't one.
Dialer, Contacts / Call Log, and SMS Alternatives
In Android, the Dialer, the Contacts / Call Log, and SMS apps can all be replaced with alternative apps. The built-in app that handles Dialer / Contacts / Call Log is rather plain, but there are a ton of replacements, such as the very excellent Dialer One to the right. While it looks about the same, the search capability is far superior. You can enter a few keys on the keypad and it will pull up results that match either the letters or the numbers, even in the middle of the name or company.
To replace the dialer, go into Settings / Applications / Manage Applications, find "Contacts" app, and clear its defaults. Next time you start contacts, you'll be prompted for the actual app to use.
There are apps that will analyze your call log to determine how are you actually using your phone, when do you make the calls, to whom, and so on. There are even apps that will let you backup the call logs and SMS messages to the cloud.
Finally, there are various SMS app alternatives, such as Handcent SMS, GoSMS, and more. There are even apps that will let you send SMS through data connection, thus not using your SMS quota.
The default camera is rather primitive. It takes pictures, but that is about it. If you want some special effects, such as combining it with other pictures, add a composition grid on the preview, improve the digital zoom, and so on.
Camera 360 is one such app. It has simulated HDR, LOMO, simulated Tilt-Shift, as well as "scenery" mode where your picture is merged into existing pictures. There are also Ghost Mode where you can add ghosts and apparitions to pictures. Color Shift mode gives you ability to have only one item being in color, and the rest in gray-scale.
Other cameras claim to have fast operations, such as burst mode (takes multiple pictures quickly), more effects such as simulating older film cameras of various vintages, and much more.