Android is an open source operating system meaning all you need to make your own version of the OS is available at no charge whatsoever. However, there are a few basic things that every developer or programmer requires before embarking on this project. Here are some of the prerequisites needed for building your own android software.
Since the source code is already readily available, the next step is to figure out your work station specifications. Though most computers should be able to write code on, a computer with more than 8GB RAM would be highly advisable. Secondly, more than 120 GB of hard disk space would give you a lot of room to operate and for storage. An external hard drive of no less than 256GB should be optimal for back up purposes. Not to be the bearer of bad news but Murphy’s Law exists for a reason.
A Build Environment
The build environment is the operating software you will use for your endeavor. Though you may be loyal to a certain OS, you may need to change your orientation for custom Android ROM development purposes. Ubuntu 14.04 is the best choice for Linux users. OS X 10.11 is ideal for Mac users. Installation of OpenJDK 8 on Linux and Oracles JDK 8 on OS X is necessary for optimal performance.
A kernel is critical to custom ROM development. Each device has its preferred choice of kernel and it would be wise to find out which and stick to that. The wrong kind of kernel could lead to overclocking of your kernel. Overclocking will increase performance for the short term but will lead to faster degradation of the CPU over time. However, there are overclocking apps that will help your computer function faster without the adverse overheating effects.
Recovery is a modded installation in a one-click-root application that will help you if or when you go wrong while creating a custom Android ROM. Contingency plans are as important as anything else in custom Android ROM development. It would be a shame if a developer had to restart the entire process from scratch as a result of a single mistake. Recoveries are not generic and you will need to find out that is compatible with your device for optimal results.
The repo is a tool that will allow Android’s source code to be automatically downloaded from hundreds of single repositories used by Android. A bin folder in your home directory that is within your path should help you out a lot customizing your Android ROM. Once you initialize a Repo you should be able to store the source code in the ROM.
A bootloader is often utilized as an exploit for rooting an Android phone. It is the first bytes of code that a device will execute and that will load the OS into the device’s RAM. Once you have installed the booloader, you will be able to flash custom ROMs. If you want to you can also edit system files and format them however you want them to.