ROM updates: 3 easy ways to update your Android custom ROM

Blog header img_ROMS-update

Many reasons exist for running a custom Android ROM on devices. For private devices such as smartphones, custom ROMs might offer additional privacy, performance benefits, or other features that your device’s native OS doesn’t support.

From a business perspective, when building new Android-based devices, developing custom ROMs is essential. These ROMs, based on the Android Open Source Project (AOSP), are tailored to ensure Android runs on the underlying hardware and is adapted to specific use cases in terms of design and functionality. Custom ROMs serve as a vital component in building high-class Android devices across various industries.

However, installing ROMs updates on devices is often challenging, regardless of the area of application. In this guide, we’ll walk you through the different methods to flash Android custom ROM updates on devices and discuss what companies can do to professionalize these methods when rolling out updates to their products.

Why are custom Android ROM updates so challenging?

To understand why custom ROMs updates are so challenging, we need to take a closer look at what it takes to successfully update a device running a custom Android ROM.

An Android ROM is a set of files that contains the compiled version of Android OS. To compile a newer version, this Android ROM gets adjusted, and changes get implemented, such as functional enhancements and security improvements. Once this ROM update is completed, it needs to be flashed onto a device  (such as a Raspberry Pi, smartphone, automotive head unit, or any other type of device). 

This second step is what most people commonly refer to as the ROM update, even though technically, it is the device that’s getting updated. 

Additionally, the ROMs update process is typically associated with users accepting an update notification on their device and then waiting while the device smoothly updates itself with a new Android ROM version.

Unfortunately, achieving this “smooth update” requires compiling a new ROM first, as well as a secure and actively maintained backend server infrastructure that handles update communications and transfers. 

This infrastructure is often missing for custom Android ROMs. One reason is that many of those ROMs are created by independent developers or communities with limited resources. Unlike Android releases from large OEMs (such as smartphone manufacturers), independently created ROMs aren’t endorsed or supported by device manufacturers.

Developing an OTA infrastructure requires expertise in server management, software deployment, and update verification mechanisms. Even companies building Android-based devices may lack the necessary technical expertise to establish and maintain a reliable OTA system for their custom ROM.

So the question remains:

How do I update a ROM?

When people need to update a custom ROM, they typically want to flash a new ROMs update onto their device manually. Several methods exist to do this. Whenever installing a new ROM, always perform a backup because flashing an update could “brick” a device.

“Dirty flash” versus “clean flash”

It’s time to flash an existing custom ROMs update to your device. Generally speaking, two major categories of flashing new ROM update packages exist—“dirty flash” and “clean flash.”

In a “dirty flash,” you flash the device without factory resetting it first. This should leave your previous files intact and is usually what people think of when performing a “ROMs update.”

In a “clean flash,” you factory reset the device, then flash the new ROM onto a clean device. After that, you need to re-install any apps and update any settings to match what you had before. 

Although dirty flashes are more convenient, they’re not always possible with custom ROMs updates. 

3 methods to update your Android Custom ROM

Three ways exist to execute custom ROMs updates:

Let’s dive into the details of how to install ROM Android updates. 

1. Update using OTA update functionality

The simplest ROMs update option is an Over-The-Air (OTA) update. This requires a robust backend infrastructure to achieve. Some open-source projects have tried to implement this backend infrastructure. In our experience, however, updates don’t always run smoothly because the infrastructure runs on servers that are less powerful than required or not actively maintained by a team. 

If you use emteria’s Android ROM, this is the simplest option for you because emteria’s OTA updates are supported by a team of specialists that maintains the OTA update server. The ROM runs on a wide range of devices out-of-the-box (including Raspberry Pi) and it’s possible to port it to custom board designs.

When doing a ROMs update through OTA, you’ll typically receive a notification to download the latest update. 

Click on the notification and then go through the steps to perform the ROMs update automatically.

2. Custom ROM recovery option

To carry out this type of ROMs update, first download the ROMs update package from wherever you got your original ROM from. Alternatively, you may use your own created ROMs update package. Save it somewhere on your computer. We’ll move it into a different directory shortly. 

Many custom ROMs come with a built-in “recovery” option that lets you manually execute the ROMs update procedure. 

To use this option, you’ll need to download Android’s platform tools, which contains adb—Android Debug Bridge—a command-line tool for communicating with Android devices. 

After downloading the Platform Tools zip file, extract it to your preferred location, such as C:\platform-tools.

Desktop-screenshot (1)

Image: Step 1 custom ROM recovery option

To run adb commands to perform ROMs updates, you’ll need to add the C:\platform-tools path to the PATH environment variable. If you’re unsure how to do that, you can check out this tutorial.

Now, move the ROMs update package you downloaded at the beginning of this section to the newly created C:\platform-tools folder.

Screenshot 2024-02-15 132853 (1)

Image: Step 2 custom ROM recovery option

It’s best to rename that zip folder to something easier to type, such as “,” as shown below.

newrom (1)

Image: Step 3 custom ROM recovery option

After connecting to your device through adb, use the following command to start the device in recovery mode:

adb reboot recovery

Your device will reboot into recovery mode. 

Each device is different, so you’ll see various options such as “Apply update” or an option mentioning “sideload.”

Select either the “sideload” or “Apply update” option, then return to your command prompt and type in the following command to run the ROMs update:

adb sideload [roms-update-filename]

In our case, we called the ROMs update file “,” so our command would look as follows:

adb sideload

Your device will start to update itself, and you just need to follow the prompts.

3. Fastboot

To use flashboot, you’ll need to download Android’s Platform Tools as well as the updated custom ROM package for your device. This is described in Step 2 above. 

You’ll also need to enable Developer Mode on your device and turn on USB debugging. 

Fastboot is a protocol that allows you to interact directly with a device’s bootloader—the low-level software that runs just before the operating system is executed and loads the operating system into memory. 

The fastboot option isn’t possible in all scenarios. The ROMs update file you’re installing needs to be packaged as a flashable zip file. 

To enable developer mode to run this ROMs update procedure, go to your device’s settings, then click “About Phone” (or similar). Tap the phone’s build number seven times to unlock the developer settings. 

Under the developer settings, you need to allow OEM bootloader unlocking, accept the warnings, and also turn on USB debugging. 

anxdroid developer options (1)

Image: Enable OEM unlocking and USB debugging on your device.

Then, navigate to the platform tools folder and open a command prompt. Type in the following command: 

adb reboot bootloader

After that, type in the following command and copy the device ID:

fastboot devices

Copy the ROMs update zip file to the “platform tools” folder and rename it as described in Step 2 above, then execute the following command:

fastboot update [name of your ROMs update file]

If we used the filename “,” then we’d type in:

fastboot update

After the update is completed, use the following command: 

fastboot reboot

The simplest custom ROMs update method—emteria

It’s a bit of a hassle to flash updates manually. For enterprise users who have dozens or even thousands of devices across various locations, it’s virtually impossible. That becomes a significant problem if your devices need an urgent security patch. 

Emteria’s Android version for enterprise use cases is a hardened, highly customizable foundation for great products. When opting for this Android version, you receive regular Android security and version updates delivered through a robust and reliable OTA infrastructure. No need to fumble around and risk bricking your Android devices with manual updates. 

Emteria also offers a free version for personal use.

Emteria’s Android version runs on many hardware configurations already. We bring Android to custom board designs and also customize existing Android versions for your specific device. 

Here are the answers to some common questions for Android ROMs updates:


Do custom ROMs get security updates?

Android custom ROM security updates depend on the developer of the custom ROM. If the custom ROM is frequently updated and the developer has also set up a custom ROM update server, then the custom ROM should receive security updates over-the-air.

Where is the Android ROM updates download location?

If you’re running an OTA update and want to know where the ROMs update location is, it depends on the device you’re using. However, if you’re downloading a ROMs update zip file via your device’s web browser, it will likely be in your Downloads folder.

How to get Android updates as soon as possible on a custom ROM

The frequency of ROMs updates for your device depends on the developer and how often they release new versions. To get updates as soon as possible on your device, choose a project that’s actively maintained and that frequently releases ROMs updates. 

How to integrate app updates into an Android ROM

For Google system apps, Android integrates updates into the ROM update package itself, meaning that you don’t need to update these apps separately. However, any additional apps you installed on your device must be updated manually.

How to apply app updates when building an Android ROM

The developer of your custom Android ROM will typically add the latest version of any custom apps into the file—a developer file that instructs the compiler on how to build Android. If you’ve added additional apps on your device, you’ll need to update those manually after the update.

Discover emteria's automated CI/CD pipeline for AOSP

See why emteria is the chosen Android™ customization & management platform for product builders — build secure Android products by automatically creating and deploying Over-the-Air OS updates.

Book live demo

Table of contents

See emteria in action
See emteria in action