ROM Building: The Basics Part I
Ever wanted to customize your own rom?
I mean really customize it the way you wanted?
I came across this question as I got my phone, well technically before I even had it my hands, I wanted my phone to be set to a certain expectation. I got it and I was impressed that the Sprint S3 I had was faster than my previous Photon 4g. But did it do what I wanted exactly?
Boot Sounds: how can I restart my phone and try a new rom with such nonsense?
Boot Animation: pathetic
Touch Sounds: Ploink sounded like a stall at a restroom
Touch unlock: An Okay button seriously get over it Android
The list can go on forever. The point is there are many things you can do. I mean have you seen the amazing developers here. I was inspired to try it myself after watching these guys just chug along and keep making their roms better and better. To be honest, we wouldnt be here if we were curious and wanted to contribute(without expecting anything). I find the general forums to have so much information and so many questions that could be answered by making a tutorial of the basics for the Sprint S3. I mention this phone specific because well as you start diving into it, some of the code we may enter on this tutorial will in fact not work for other phones or vice versa. I suppose this is a teach a man to fish situation(as opposed to giving fishes)
Lets begin and by all means if this is in the wrong forum please let me know, I will get it over to the correct area asap.
So you want a starting point, a place to start. well you can do article after article forum search and so forth but lets start fresh:
We will need a rom to begin with, grab those from this amazing guy's
thread. Freeza is boss, a great contributor, he is very knowlegable and I havent even talked to the guy. But we are for information so I digress no more.
You got the link open do you? The choice now comes what do you download? Odexed, Deodexed, kernel, firmware AHHHH so much info, start slow and break down what in the world you want to do. Do you want to theme your rom and make it look Wicked like our badass team Team Wicked's rom of blue goodness? seriously its sexy. Do you want to just take out bloatware and keep it clean stock without junk and some mods guess what, this is the best place to choose those options.
Odexed rom: Think of it as android caching a program so it can load up faster, its supposed to serve as a time boost during first boot and "supposed" to be faster than DeOdex but I have found they are about the same. Odex is a little trick as the way Android makes the cache file is with, you guessed it, an additional .ODEX file. This file is like a sneak peak into the file so Android can load it "faster". This is also a problem when you want to make major modifications to your phone's color and the sort. This where we get to DeOdex
DeOdexed rom: This is the best choice for working with a rom. It removes the .ODEX file from the rom and keeps your files editable with much more ease. Seriously I tried both and OMG was it easier to use DeOdexed after a while I realized theming any of this SUCKED. I mean here I did all this artwork change and I see this ODEX file. And crash when I loaded. It becomes a simple goal if you need to perform tasks like modifying pictures and themes, any apk in the rom and even the java files.
Kernel: I am not a professor on this topic, I know this much, the kernel is basically a really smart piece of software that tells how your hardware how to act. It is critical to make sure the kernel you select goes with what you need to do. Wrong kernel can tell the hardware to something funky. I have from experience chosen the MD4(4/24/13) Kernel optimized that will be used for the sake of this tutorial but by all means master the easy stuff I am going through before you want to launch Satellites into space to save Black Mesa.
The firmware: A common misconception is that the firmare/modem/baseband should be always modified to the latest one from the manufacturer. This might not necessarily be true. Remember, a new update to this might enhance your signal or ruin it. And with Sprint have spotty network in 99 percent of America (cough cough oops too harsh?) Remember the MD4 is the latest release for official sprint software, the MD4 does represent the date of the release. It is coded ingeniously of course.
So as we modify the software from now on, you must settle on the best option for your needs.
Of course, as I mentioned, I am going to use the DeOdex version of the official software. Of course DeOdexed and then some stuff was added by our awesome Developer Freeza means that it has some good stuff we will need later like rooted automatically with some busybox and Super user installed already.
So you downloaded the zip file. This zip file is just a container for this rom. Like a bucket that holds all the software for your rom.
I would say the best way to get started is to get the tools of the trade.
: I mean seriously, who even uses windows notepad anymore( me before I started modifying roms ). This software will make it much easier to work with the various code. I am SHOCKED that it is still free. Mad props to them.
The Android SDK
: This lumpy software contains many tools we will need for advanced users. I think the modifications we will need to do here can go without this but remember it is a software development kit that contains critical tools for our android phones. And its free
: I call them the brothers. I also remember that BakSmali will decompile software while Smali will recompile software more on that later. This software is free but very complex, we will have to break it down like a fraction to fully utilize customization and true development.
: sure there is a bunch of "tools" we can get, you dont need that stuff or even a kitchen but you can use this and get a way with it.
and WinRar, alright you can use either but I love both, one is free and one is "free", of course use 7-zip for its free of use terms. I got Winrar after the trial kept nagging me to call me a sellout I don't care MOM!
And surprisingly that's all you need to edit the files.
Of course, you will also need things like Photoshop, Sound Forge, Firefox because IE is just wrong,
But these are not necessary to really get the modifications of sounds and pictures and research going: You can use:
: This tool is free to use image editing software. It can do wonders on the fly and for free but remember Photoshop is better come on it's not even a debate but for free, I am not arguing.
: Okay its not Soundforge, Cooledit 2000 for those that remember it, or even Sound recorder for windows but it will get the job done and is free.
Notice the theme here, you can make a rom customize it for free. This is truly amazing for a platform that is Android. While you get this software post some comments below to show me whether or not this is too basic for the majority of help seekers or if I should keep going. After all I learned so much from XDA and the infamous "Google" whatever that is....I am sure we can learn together and make this thread something we can have everyone refer to the basics while letting them be creative.
of course by law, this is education purposes only, dont brick your phone use it as an expensive paperweight and then blame anyone but yourself. Everyone in the threads do them to reduce liability, i guess we are all here to help, but getting sued over shenanagins is not what any of these hard working developers want especially since, like most of the software mentioned here, do it for free. Donate to all you care for and see fit, we have some modding to do team, and I think this will be fun and we can definately burden the forums with more intelligent questions by simply reading through this tutorial and part II