When I purchase an Android phone, I prefer to install a custom ROM on it, instead of using the manufacturer's version of Android. Is there a way for me to quickly figure out if a given phone supports custom ROMs or not? Ideally I want a way to list down every phone that supports custom ROMs by date and price, so that I could quickly figure out which are the latest/cheapest phones that fulfill my requirements.
-
1Unfortunately, pretty much no. XDA-Developers is a good starting point, but there are still many phones that are region-specific and/or too unpopular to have a place there, and as such you can't have an exhaustive list of phones, let alone one with price (which varies greatly) and release date (which means that such list has to be human-maintained all the time).– Andy YanCommented Dec 3, 2019 at 2:02
1 Answer
As Irfan and Andy have already said. A custom ROM is just a ROM that is from a third party and has now been developed to boot on your device.
A quick look is every android can boot a custom ROM but getting a ROM that is bug free, that is, if it can at all boot on your device.
Booting a ROM on a phone requires an appropriate boot image containing a kernel that can work on your phone and correspond to hardware files and software apps in the system.
A few years ago before the dawn of android 8, porting a ROM used to need one to port a boot image of the custom ROM by the kernel of the stock boot image, considering the system space and partitions to write boot and system images to respectively, and also maintaining vendor data so as to support the hardware devices like cameras and speakers a phone has.
This made Google to think about a way to make any theoretical system to be compatible with the residing hardware. This made google to isolate vendor data to an independent partition as from Android 8 Go and above.
This made the deletion of or replacement of system files not to render phone's hardware unusable. They introduced Project Treble - a project aimed at developing universal ROMs for Project Treble supported devices.
This only requires flashing of the system partition without touching any other partition. This means a kind of universal boot image is already existing in Project Treble devices and all Treble ROMs have a universal Build Properties file.
One has to unlock the bootloader of the device and then flash a sparse system image from fastboot and the phone seamlessly works
So my recommendation is any device running Android 8 Go and above. All devices succeeding Android 8 have native support for Project Treble ROMs - the easiest way to run custom ROMs on phone
Don't even think about manual porting it can be mostly disappointing. Read about Project Treble and you'll be amazed
-
Sure, but not every phone supports unlocking the bootloader as far as I understand? Commented Dec 3, 2019 at 8:09
-
@JonathanReezSupportsMonica many have the settings hidden. In developer options that requires to activate the setting first. But bootloader unlock in most devices like the MTK based is a basic element. Maybe you should say not all phones have fastboot mode, but bootloader unlock is found in most devices. Like Samsung. Bootloader unlock works primarily for ODIN to side load third party system images unlike the official locked one that only flashes in factory signed images Commented Dec 3, 2019 at 8:17