How to Install a Custom ROM on Your HTC One for a Completely New Experience

Sometimes, stock just doesn't cut it. When you're sick of the limitations in Sense on your HTC One, a new ROM can be a ray of sunshine. By installing a custom ROM, you can add or unlock new features in Sense, or you can get a pure Android experience instead. It's all up to you.

Though installing a custom ROM is fairly easy, it's intimidating if you've never done it before, even if it's just a ROM based off of AOSP (Android Open Source Project), which is the pure vanilla version of Android before carriers get a chance to muck it up. However, installing new ROMs is also a staple in the softModder handbook, so let's get to it.

XDA is full of developers who tailor their ROMs specifically to the HTC One. For the most part, all they require is for you to have an unlocked bootloader and custom recovery to install them, so most of you already fit the bill.

Step 1: Prep Your HTC One

Before you get a custom ROM, make sure your HTC One is ready for it.

  • Root, unlock your bootloader, and have a custom recovery installed on your HTC One. You can find instructions for doing so right here for the HTC One M7 and HTC One M8.
  • Back up all of your app data, since this will wipe almost everything on your device—it will not wipe your internal storage, so your music and pictures will remain intact.

Step 2: Pick the ROM That's Right for You

Going into XDA's ROM section is like being a kid in a candy store, so take your time and find the one that is right for you. Once you have made your choice, download it make sure to to grab a GApps package if needed.

GApps, or Google Apps, are the stock Google apps that come preinstalled on most devices and make up the "Google Experience" (think Chrome, Gmail, and Google Play Store). Generally, you will only need GApps if you download a non-Sense based ROM.

For this how-to, I will be flashing the AICP Team's ROM, called AICP, or Android Ice Cold Project, which combines many of the features that softModders have come to enjoy from AOKP, ParanoidAndroid, OMNI, and of course, CyanogenMod—all into one.

Because this is an AOSP-based ROM, I will also need a GApps package to accompany it, and you will too if this is your choice. The full GApps package for AICP can be found here.

Step 3: Download Your ROM

After picking the ROM that fits all of your needs, download it (and possibly a GApps package) directly onto your HTC One.

GApps packages are just about always listed with the ROM in its thread, but if you're having trouble locating the right one, let us know in the comments and we'll point you in the right direction.

You can also download these files to your PC and transfer them over, which is the recommended method if you are not on WiFi and cannot get a reliable data signal on your device (i.e. 3G).

Step 4: Prepare Your HTC One

With the ROM and GApps downloaded, place your phone into Recovery mode by pressing and holding the Power and Volume Down button for about ten seconds. When you see the white bootloader menu, select Recovery by pressing the Power button—I'll be using TWRP for this tutorial.

Before flashing the ROM, you're going to need to Wipe the old one off your phone. To do that, select Wipe from the TWRP menu, then select the Advanced Wipe option. Make sure that Dalvik Cache, System, Cache, and Data are all checked, then Swipe to Wipe.

Step 5: Flash the ROM

Now that your One is free of the old ROM, hit the Home button and select Install from the TWRP menu. Select your ROM from the list, then Swipe to Confirm Flash. The file size of your ROM determines how long the flashing process takes, but it normally shouldn't take more than five minutes.

Step 6: Flash the GApps Package (Optional)

If your new ROM requires a GApps package, you will have to flash that directly after flashing the custom ROM. Hit the Home button once more in TWRP and tap Install, then select the GApps package you downloaded. You can also hit the Add More Zips button and add the GApps package when initially flashing your ROM.

Step 7: Reboot & Explore!

Now, that your ROM and GApps are flashed to your phone, you can tap the Reboot option in TWRP and restart your device. Usually the first boot takes a little longer than normal, but that is expected.

When your device has finished booting, you'll need to set up for phone like it's fresh from the factory. Enter your Google credentials, and all your contacts will begin automatically syncing, as well as your apps from Google Play.

What to Do if You're Stuck on the Boot Screen

If you find that you're stuck at the bootscreen during the first boot, check the ROM's XDA thread to see if it requires Super CID. The CID of your device determines which carriers are allowed to utilize it, and by default, your device is tied to a single carrier.

Super CID enables any carrier to be tied to your One, just as long as they are using the same radio frequencies. If you have already S-Offed your M7 or M8, this is a simple fix.

Make sure USB debugging is enabled, plug your phone into your computer and open a command line, then enter these commands to change the CID:

adb reboot bootloader
fastboot oem writecid 11111111
fastboot reboot

Now all you have to do is wipe your device one more time and re-flash the ROM and GApps. After you finish up the initial ROM setup, you're all set to go!

There are many ROM options out there, so keep flashing to find the one that is right for you (I know I still am). Let us know what ROM you're running and share your experience with it in the comments!

29 Comments

i really need help,After a factory reset, some how the "OS no installed" message comes up on my HTC one recovery menu, i really want it back working and want to use the OTG Adapter Cable to install this custom ROM, is it possible?? if yes please explain step by step

You can follow this guide to get an OS back onto your device. There is no need to use a OTG cable.

i followed the guide step by step I can just see adb devices List of devices attached but nothing under the list"

2nd: my HTC one takes forever to wipe by the end of step 3 "From there, you will be given the option to Wipe Cache and Wipe Dalvik Cache partitions, so go ahead and do so by checking the boxes and Swipe to Start Sideload. After it starts, you will be ready to start your ROM flash"

3rd: "My computer does not identify my device with the adb devices command."

Update to the newest version of ADB. Also try using a different USB port, and make sure it is USB 2.0.

Thanks for your quick response ,I am stuck forever when trying to wipe delvik cache and wipe cache all it says is Starting ADB sideload feature.....what does this mean

it is strange because fastboot devices can see my device?

I will definitely try what you suggested and let u know later

i am really LOST , tried different port but adb will not see my HTC from adb devices or even any all in one tool kits..how do i update the ADB on my soft bricked, no OS installed HTC one m7 ???

the ADB version is ....\Fastboot>adb version Android Debug Bridge version 1.0.31

the ADB sideload is not starting up and that seems to be the problem how do i fix that

That is the newest version of ADB, you may want to try reformatting your data from the Wipe menu. This will completely erase your phone though.

Or you can run an RUU to get back to Sense.

no matter what i am trying adb comes up with no device found/unrecognized..... if ii can get this fixed i will be able to get my htc one working again....pls pls pls help me on HOW TO GET THE ADB to recognize my device

Place your device in fastboot mode and see if your computer can read it from there. If it can you can run an RUU.

hi, how did you put your phone S-off with HBOOT 1.55. i tried every possibility what i have see but i get error.

Have you tried firewater with a stock Sense ROM like ARHD?

what is the difference between Kernal & OTA, which one is ROM?
when I try to wipe cache in TWRP , I get error, failed to mount cache.
Also adb mount will take forever and never ends in TWRP, advced, adb tools.

A kernel is what allows your software and hardware to communicate and an OTA is an update to a ROM. Are you trying to access your internal storage through ADB while in TWRP?

I was stuck in the boot screen. thanks for the fix!

when i try flash a custom ROM in twrp, it after some time says error executing updater binary..........
what do i do?

Hi Andrew,

I own HTC One M7 Developer Edition. It's unlocked (via Htcdev.com) and rooted have working SuperSU in my device but no S-OFF. When i tried to install a ARHD & Viper One ROM, it isn't booting up but i did see the AROMA installer and selected every thing but it didn't boot up. Can you help me, what was the problem and how can i solve it ? Give me suggestion to get S-OFF. My HBOOT version is 1.57.

Thanks in advance

Just to clarify, you cannot boot up into any ROM and are trying to fix that along with getting S-Off on your M7?

First of all, thanks for the reply. I should have posted this comment under One M7 S-OFF article. It was my mistake. Anyways, you are here to help me. Here is my problem explained.

To clarify you, i'm writing slightly in-details, I cannot boot up into newly flashed ROM. so that it was forcing me to restore my original Stock ROM to bring back my device to working condition. I don't have S-OFF right now. As you mentioned in this article, i tried to install ARHD ROM, i have seen the AROMA installer and i have gone through all the AROMA setup process. After hitting Reboot system at the end, It was showing HTC Logo and rebooting the device but i didn't see any boot animation. Why my device isn't booting ? did i miss anything ?

how do i get my phone back to stock after getting venom rom

Please some one help me about this problem my HTC DESIRE 300 301s need custom recovery root and custom rom
........ UNLOCKED .........
G3U PVT SHIP S-ON RH
HBOOT1.16.0002
RADIO-14.10.36Q4.13
OS-1.04.841.4
eMMC-boot
Jul 11 2014, 12:24:53.0

I was told my HTC One M8 was rooted and customized to unlick the sim and enable LTE for my carrier. How do I know what rom was used on my phone and the method used to unlock the sim and enable the LTE?

I need this info should I need to restore.

If you go into Settings -> About Phone it will list the ROM you have installed on your device.

Share Your Thoughts

  • Hot
  • Latest