Now, you will never have to say that again.
But, like most of y'all, I don't have any coding experience and don't really plan to learn. Before last week, I had never even thought about making my own ROM. But using this tutorial, I will show any person who can unzip and re-zip a .zip archive how to tweak a ROM to exclude apps you don't want and (for the more brave individuals) include apps you always need.
And with S-OFF and permanent root obtained for both of our favorite EVOs (those rockin' Gingerbread on the OG EVO . . . be patient!), we can start thinking about how to make personalized ROMs.
First, I'm going to make some recommendations. If you plan to test out your ROM on your EVO by flashing it through recovery, you are definitely going to want to make a Nandroid backup of your current setup (just in case you screw something up). Another option is checking out an app we recently featured called BootManager, which will allow you to test out your ROM and work out any bugs that may pop up in early testing.
The next step is to find your base ROM. Obviously we aren't starting from scratch.
I'm going to use stock ROMs in this tutorial because they're stable and should work perfectly if we are just removing bloatware or adding essential apps (which is our goal).
- If you are using the still awesome EVO 4G, here is a stock, deodexed, rooted ROM to get you started.
- If you have moved on to another dimension with the EVO 3D, here is a stock, odexed, rooted ROM for your downloading pleasures.
The next step is deciding which apps you want to remove. These apps are normally called bloatware, and each person is going to have a personal preference. Some want no bloatware (like me), while others find apps like Sprint TV or QuickOffice useful and would like to keep them.
But not everything is safe to delete. I found two lists of acceptable .apks to remove at Android Forums. These lists also include .apks that should not be removed. The first list is specific to the HTC EVO 4G (scroll down to "after rooting" and click the "Show" button under section 2) and the other list is more broad. Use these as a guide to help you decide which apps you want to remove from your ROM. These lists aren't specifically for EVO 3D users, but since the phone still runs Sense, they can still assist you.
This is a good point to setup your workspace for your ROM. Just find a folder on your computer to stash all the files in. Next, take the .zip file that is your base ROM and unzip the archive to this folder. Everything you are going to need is in the /system/app/ folder or the (not-yet-created) /data/app/ folder.
Go to the /system/app/ folder. In here, you will find a ton of .apks. For the beginner EVO user, these are all the apps your EVO comes preloaded with. A lot of these apps can be removed, but not all of them (refer to the lists mentioned earlier for guidance). Remember, the fewer removed the better. Stick to playing it safe when ripping apart ROMs.
Once you have all the apps removed that you would like, you can stop here and zip your ROM back up. If you are a basic user, this is where I would recommend stopping. If you do, then congratulations! You didn't set up any fancy environments or have to learn what a terminal is, but guess what. You just cooked up a ROM!
If you are feeling a bit more adventurous, then keep reading to find out how to include new apps in your ROM (note that this is more involved).
We all have a few third-party apps we always install on a ROM (Facebook, Amazon Appstore, etc.). If you would like to add some of these apps to the base ROM, then you have two choices.
- Throw the app's .apk into the /system/app/ folder. The downside to this method is that the app will not update like it should and your EVO will see it as a system app and then not allow you to uninstall it. OR
- Place the .apks in the /data/app/ folder. Unfortunately, by default, your ROM will not install the apps that are in this folder.
Now it's time to step into dsixda's HTC Android Kitchen, get our hands dirty, and build a ROM.
To get the kitchen up and running, follow the instructions for your OS. For Windows 7 (what I used), I found Cygwin to be fairly easy to setup. Using carl1961's picture tutorial as a guide made the process a breeze. Linux and Mac users simply need to follow the instructions above.
To get Cygwin running (after all the installation). You just need type in "cd kitchen" and then press enter, followed by: "./menu" then enter.
This will get you to where you are met with a menu that looks like this:
The process of importing your ROM into the kitchen is described on pages 20-26 of the picture tutorial. Feel free to import your new /system/app/ folder with all of the bloatware you removed from earlier.
Now, you have to "enable" the /data/app/ folder. This is an advanced option. After hitting 0 (zero) and then enter, you are going to hit 13 followed by ente r. Once this is enabled, go ahead and type in option 99 and prepare yourself to finish up your ROM.
I usually choose the interactive mode, option 1:
This will guide you through the finishing of your ROM. I would recommend zipaligning your apps, letting the application change the update script, signing your ROM, and giving the ROM a custom name (for easy identification).
Your ROM is spit out in the OUTPUT_ZIP folder. For me, that was:
At this point you can flash your ROM (only after a proper Nandroid and wiping, of course) or test it out using BootManager.
Now, of course, you can find any ROM out there and do a similar procedure. Most ROM developers don't like bloatware either, so half of the job will probably already be done for you.
This is only the beginning of very basic ROM cooking, but in a few short days you can have a ROM with Apps2SD, unlocked hotspot, themes, and more. Be sure to share your ROMs in our forums and let us know how they work compared to the bloated-down stock ROM. I've also opened up a thread with my custom ROM, which I started using the same stock ROM I provided to you earlier. I've done more than take out bloatware and add essential apps, but remember, I only started customizing a few days ago.