How one can construct your personal customized Android ROM in 2022


Android Open Source Project AOSP mashup logo

Gary Sims / Android Authority

One of many key options of Android is that it’s open supply. The supply code for the total working system, together with the kernel, UI, libraries, and key apps, is on the market free of charge. Because of this anybody (with the best technical abilities) can construct Android from supply and flash it onto a appropriate machine. This flexibility has allowed numerous teams — some industrial and a few hobbyist — to develop different distributions of Android. These are generally known as customized ROMs, however a greater title could be customized firmware.

Since all the required constructing blocks can be found, perhaps you’ve gotten questioned how exhausting it’s t

o construct your personal customized ROM, your personalised model of Android! It’s certainly potential; learn on to search out out extra.


Earlier than we dive into the murky world of constructing customized variations of Android, we have to pause and assess the enormity of the duty forward, whereas holding our expectations in examine. When you have completely no coding expertise, zero Linux expertise, or no concept what a Makefile is, this isn’t for you.

Android is a whole working system. It’s advanced and incorporates many various subsystems. Creating an working system as advanced and helpful as Android didn’t occur in a single day. Because of this any customization you want to carry out should begin small. Creating an alternate Android distribution that’s radically completely different will take many hours of exhausting work and dedication.

In case you are acquainted with writing code and know a bit about Makefiles and compilers, then making your personal customized Android ROM could be a rewarding expertise.


AOSP system requirements 2022

Theoretically, it might be potential to construct a customized Android firmware for any computing machine able to working a contemporary working system. Nevertheless, to make life straightforward, we are going to restrict ourselves to constructing Android for Google’s Pixel smartphones.

To construct Android, you have to entry to, and familiarity with, Linux. You may be utilizing the terminal rather a lot, and it’s essential be assured with shell instructions. You would possibly be capable of use a Linux digital machine, however I’d suggest utilizing a devoted PC.

You have to no less than 400GB of disk house and at least 16GB of RAM, however 32GB or 64GB is advisable. You have to a contemporary 64-bit CPU with a number of cores. Google says that it takes about 5 instances longer to construct Android on a 6-core machine with 64GB of RAM than to construct it on a 72-core machine with the same RAM. In my testing, I foolishly tried to construct it on a dual-core machine with a CPU from 10 years in the past. It took about 24 hours!

Study endurance. Constructing Android isn’t fast. Synchronizing the supply repository can take hours (relying in your Web connection pace). Additionally, a full clear construct will take a number of hours to finish. Even after making a minor change, you would possibly want to attend 10 to twenty minutes for a construct. All of it is dependent upon your {hardware}. Don’t anticipate to have your new model of Android up and working in just some moments.

The Android Open Supply Challenge model doesn’t embrace any Google companies. So issues like Google Play, YouTube, Gmail, and Chrome shall be lacking. There are methods to flash these “gapps” onto your customized firmware, however I’ll depart you to learn how to do this. Trace: Seek for “set up gapps.”

The place to start out when construct your personal Android ROM

Pixel 3 XL in hand running AOSP showing home screen

Gary Sims / Android Authority

The fundamental course of for constructing a customized ROM is that this. Obtain and construct Android from the Android Open Supply Challenge, then modify the supply code to get your customized model. Easy.

Google supplies some glorious documentation about constructing AOSP. It is advisable learn it, re-read it, after which learn it once more. Don’t leap any steps, and don’t assume you recognize what it’s going to say subsequent and skim over components.

I gained’t repeat verbatim what’s within the construct directions, however the basic steps are:

  • Arrange a construct surroundings — together with putting in the proper improvement instruments.
  • Seize the supply — that is achieved utilizing the “Repo” software.
  • Receive proprietary binaries — a few of the drivers are solely launched in binary kind.
  • Select a goal — utilizing the “lunch” software.
  • Begin the construct — utilizing “m.”
  • Flash the construct onto your machine — utilizing ADB and fastboot.

Suggestions and methods for the customized ROM construct course of

That every one sounds straightforward, however there are just a few gotchas alongside the way in which. Listed below are some notes I made through the course of that you simply would possibly discover useful:

Arrange a construct surroundings — Ubuntu 18.04 is the advisable construct OS. You have to to put in numerous development-related packages like gcc, git, python, and many others. The grasp department of Android in AOSP comes with a pre-built model of OpenJDK, so no further set up is required. Nevertheless, older variations of Android require a separate set up of the JDK. You must use OpenJDK. Full directions on establishing your construct surroundings might be discovered right here.

Python3 — Python 2 assist is deprecated. To construct AOSP, it’s essential use Python3. Should you get Python lacking errors, this trick ought to repair it. It creates a comfortable hyperlink between python and the python3 binary:


sudo ln -s /usr/bin/python3 /usr/bin/python

Seize the supply — That is a simple step, however it may take a very long time, as in hours. Such a big obtain solely occurs as soon as; additional syncing with the primary supply tree shall be incremental. To hurry up the obtain, use the -c (present department) flag and the -jthreadcount flag like this:


repo sync -c -j8

Receive proprietary binaries — The binaries come as self-extracting scripts. Uncompress the archives and run the self-extracting script from the basis of the supply tree. The binaries shall be put in within the vendor/ listing. Word that there are two units of binaries for a lot of Pixel gadgets, one from Google and one other from Qualcomm. You want each. Be sure to obtain the model of the binaries that corresponds with the model of AOSP you’re constructing.

Select a goal — Have a look at this listing of Pixel gadgets and decide the related construct title. For instance, when you have a Pixel 5, you’ll use aosp_redfin-userdebug.

Pixel 3 XL in hand running AOSP showing custom build number

Gary Sims / Android Authority

Begin the construct — You begin the construct utilizing m. The construct system can run a number of jobs concurrently with the -jN argument. Should you don’t use the -j argument, then the construct system will robotically choose an optimum job depend in your system.

Flash the construct onto your machine — You have to Google’s platform instruments to flash your construct onto a bodily machine. You should utilize the Android SDK Platform-Instruments from Google, or alternatively, you will see that adb and fastboot in ./out/host/linux-x86/bin.

Flash it

aosp fastboot flashall

Gary Sims / Android Authority

After getting efficiently flashed it onto your machine utilizing “fastboot flashall -w,” you will notice a vanilla model of AOSP. There aren’t any Google companies, no Play Retailer, and only some core apps. That is the naked bones of Android.

Nevertheless, congratulations are so as. You will have managed to construct Android from its supply code and flash it onto a tool. That’s no imply feat.


Now that you’ve got Android up and working, you can begin to customise it and make your personal specialist ROM. That is truly the place issues get exhausting. You might be about to tinker with the heart of the Android working system, and the issue is that Android is large. My working listing is 350+GB of information, together with the supply code, the graphics, the compiled binaries, and the instruments. That’s loads of stuff.

So, begin easy. Listed below are two easy customizations that may get you going and begin you on the trail to being an Android firmware hacker.

Customise the messaging app

A comparatively straightforward customization is to alter one of many pre-built apps. Should you have been to develop a full different Android distribution, modifying or changing a few of the core apps could be a given. On this case, we are going to simply tweak it, however the rules stay the identical for extra advanced modifications and revisions.

The core apps are discovered within the listing ./packages/apps/, and we have an interest within the Messaging app in ./packages/apps/Messaging/. Drill down via res/values/ and edit strings.xml. You may edit it along with your favourite GUI editor or if you wish to keep on the command line, then use vi or nano.

strings.xml incorporates all of the English textual content for the app. In case you are utilizing one other language, you have to to search out the related XML file within the res/ listing.

Discover the place in strings.xml the place conversation_list_empty_text is outlined. The string half begins with “When you begin…”. Change it with your personal string, one thing like, “Begin a brand new dialog and also you’ll see it listed right here.”

Save the file and begin one other construct utilizing the m command. As soon as the construct has completed, flash it onto your machine and reboot. Begin the Messaging app and search for the brand new textual content. Clearly, this can be a easy modification, however the potential is there to change any of the default apps in no matter manner you please.

aosp android 12 screenshot modified messaging app

Gary Sims / Android Authority

Extra customization

Any self-respecting customized Android distribution should embrace some details about the ROM itself. To do that, we are able to alter the system properties. Discover the sysprop.mk file within the construct/core/ listing. Edit it and discover the road that defines BUILD_DESC. For a easy alteration, put AOSP++ at first of the road after the :=, like this:



Save the file, rebuild and re-flash the firmware in your machine. When you reboot, go to Settings->About Telephone and scroll to the underside:

aosp android 12 screenshot custom build number about phone

Gary Sims / Android Authority


Pixel 3 XL showing unlocked bootloader

Gary Sims / Android Authority

Since you’re constructing the ROM, then you’ll be able to verify its contents. Because of this it’s assured to include no malicious code or adware. However, it’s price noting that your knowledge isn’t “protected” if you set up a customized ROM, even one you constructed your self, as it’s going to doubtless be erased through the flashing course of. There’s additionally the hazard of “bricking” your machine.

Should you comply with the steps on this article you’ll have created your personal customized ROM for Android, primarily based on AOSP. Nevertheless, the exhausting half is the precise customization. You must contemplate together with different apps, including ringtones, together with customized wallpapers, and even tweaking the Linux kernel

While you purchase a smartphone it comes with Android preinstalled from the producer. This is called the ROM, or higher nonetheless the firmware. Third-party software program constructed to exchange the default firmware is called a customized ROM.

AOSP stands for the Android Open Supply Challenge. It’s the open-source basis and supply code that makes up Android. The largest distinction is that standard Android additionally consists of Google Providers just like the Play Retailer, Gmail, YouTube, and many others.

AOSP is an open-source foundation for Android. It’s maintained by Google. AOSP is free to make use of and alter beneath its open-source license. Producers like Amazon and Huawei are free to tweak the venture for their very own functions and have developed their very own spin-offs, together with the multi-purpose Fireplace OS. AOSP can’t present kernel machine drivers for each {hardware} configuration on the market. It additionally doesn’t include Google’s software program just like the Google Play Retailer or Google’s companies that allow options like cellular funds, voice instructions, and cloud storage.

The 2 modifications I’ve made are very primary, and there are hundreds extra issues that might be achieved, together with pre-installing different apps, including ringtones and wallpapers, and tweaking the kernel. Nevertheless, I hope this has given you a style of what’s potential or no less than given you an concept about find out how to construct a customized AOSP ROM and tinker with the innards of Android.