How to Update Your Rooted Google Play Edition HTC One to 4.4.3 Without Losing Any Data

The beauty of having a Google Play Edition HTC One is the ability to get as close to stock Android as possible while still getting some extra non-Google, proprietary HTC features. The newest version of Android, 4.4.3, has just hit the Nexus and Google Play Edition line of phones, but if you are rooted with a custom recovery, you will not be able to apply the OTA.

Normally you would have to restore to factory settings, but don't worry, in this step-by-step guide, I will be showing you how to update your rooted GPE HTC One to Android 4.4.3 using the official OTA, while keeping all your precious data and root access.

This process applies to both the HTC One M7 and M8 Google Play Editions—just be sure to download the files that are right for you.


Getting Your One Ready

If you have a rooted One, chances are you have a custom recovery installed, like TWRP. Unfortunately, the OTA will not flash on a custom recovery, so we will need to re-flash the stock one by downloading the stock GPE recovery and flash it in fastboot mode. This will also apply to those that converted their GSM HTC One as well.

Step 1: Download Your Recovery

Depending on which version of the One you have—the M7 or M8—you will need to download one of the following recoveries and place it on your desktop.

Step 2: Re-Flash the Stock Recovery

Once downloaded, plug your device into your computer and open terminal (OS X) or cmd (Windows). You will see a dialog box pop up on your One's screen asking to allow USB debugging, so tap Allow. Next, you are going to want to place your device into fastboot mode using this command:

adb reboot bootloader

Once you are in fastboot mode, flash the recovery:

fastboot flash recovery Desktop/M8.GPE.Recovery.img

Note, that you will need to change the last part to the location of the recovery if you did not place it on your Desktop, and also change the filename if you're doing this for the M7. Afterward, finish it up by erasing your cache and rebooting:

fastboot erase cache
fastboot reboot

Step 3: Change CID (Only for Converted GPEs, Not Official GPEs)

This step is only for those that have converted to the GPE One, not those using an out-of-the-box Google Play Edition. The CID, or carrier ID, identifies what OTAs, among other things, can be installed on your phone. By default, your CID should be tied to your original carrier, but for the OTA we will need the Google CID.

To do this, we will need to write the new CID from fastboot:

adb reboot bootloader
fastboot oem writecid GOOGL001
fastboot erase cache
fastboot reboot

Flashing the OTA

Now that your One can be identified as stock by the updater script in the OTA, you are all ready to install it.

Step 4: Download & Rename the OTA

There are two different OTA files that you can download, depending on which phone you have. Thanks to Shawn D for both OTA files.

These can be downloaded directly to your One, and once they are completed, you will need to rename them to

Step 5: Reboot into Recovery

Since your device is still plugged into your computer, you can place it into recovery through adb:

adb reboot recovery

Step 6: Apply the OTA

Once you see the image of the Android on its back with a red exclamation point, hold the Volume Up button, then press the Power button to get to the recovery menu. From there select apply from phone storage using your Volume Down button, then select it with Power.

At the next screen, you will need to select 0/, then

Let the installer do its thing, then you will get a prompt telling you to reboot your device to update the firmware. Reboot, and you will be all set!

Install TWRP & Regain Root Access

Just like all other OTAs, this one will cause you to lose root access to your device, but that is an easy fix.

Step 7: Download TWRP

To regain root access, we will need to download the TWRP recovery that is right for your device, and re-enable SuperSu by opening the app.

Step 8: Install TWRP

TWRP can be flashed the same way we flashed the stock recovery:

adb reboot bootloader
fastboot flash recovery Desktop/openrecovery-twrp-

Again, change the last part to your specific recovery.

fastboot erase cache
fastboot reboot

Step 9: Confirm SuperSu Is Working

Now that you have TWRP installed, open up SuperSu, or any other root app, and make sure you are able to grant it superuser permission. If for some reason you still do not have root access, reboot into recovery, tap reboot, and select system. That has been shown to fix most issues with getting SuperSu to work.

Most of the changes that are included in Android 4.4.3 come in the form of bug fixes and stability improvements, but there are a couple UI changes too. The dialer app got a new theme, and in the Settings app, there is a new HTC Weather section for the HTC Weather widget.

Be sure to check back for more updates on what we find hidden in 4.4.3, and let us know of anything you find on your own!


I am getting

"/system/app/cloudprint.apk" has unexpected contents

when installing the OTA...

I have 4.4.2 converted GPE.

Did you remove some system apps? If you did you will not be able to install the OTA. You would need to either re-install the removed apps or reflash the RUU.

I updated OTA last night to 4.4.3 from 4.4.2 as I had a rooted GPE One and have the fuzzy screen etc etc. I have tried to follow all steps listed above and cannot get phone back into recovery mode after "Android on its back with a red exclamation point". Phone boots to on. Please can somebody help me to reverse to 4.4.2 or how to be able to enter recovery to update the OTA. Many thanks

What happens when you select recovery from bootloader?

Hi, when I select recovery from bootloader, phone crashes back to android on it back with red exclamation mark.

Ok managed to install I get error message cannot open 'openrecovery-twrp-' However cannot Install TWRP. Been at it for 30 mins. At least phone working better now, will attempt later. Any ideas? Many thanks

Ok thanks Andrew, all working now.

After following your S-off tutorial, I flashed my GSM M8 (international) with rooted GPE 4.4.3 which I got from here.

It's working fine but now I don't have TWRP. Should I follow your tutorial from step 7 to get it installed again? Or just install it from google play? And will I get OTA next time there is an update?

If you install TWRP you are not going to be able to install OTAs. You would need a stock recovery for that.

when i get to '' at the end of step 6
it goes from "verifying update package..."
to "installation aborted.
I:write hostmode:0 done "

can anyone help?

and how can i tell if my phone was converted to GPE?
i bought off a friend who had already put SuperSU on it

Nvm i got it to work i just did the step to change the CID :)
but now i cant get 'openrecovery for m7' to work
i get error: cannot open 'Desktop/openrecovery etc...'

The easiest way to do it on windows is to place it in the parent folder of your C: drive and then run the command. So it would be fastboot flash recovery c:\recovery.img

it's all good now Thanks Andrew!!!

I managed to get to step 6 but once I select "apply from storage", phone restarts itself without giving me the next screen. Can anyone please help.

Thanks in advance.

Did you rename the .zip to and place it in the parent folder of your internal storage?

Yes I did rename it to I tried the process all over again and now my M7 is restarting by itself every 2-3 minutes. Any recommendation on this?

Update your SuperSu app. The restarts should stop afterwards.

I HTC restarts too. Please help.

That most likely means you need to update SuperSU.

My phone is brick now. SuperSu update didn't help. I have been flashing rom and The phone still restarting.

I have looked after info about update and I founded that before my phone should be S-OFF.

You may want to try and flash a regular Sense RUU. That should bring you back to stock.

Hi Andrew,

When I am installing the update I receive this error? Any ideas as to what has gone wrong?


Prior to installing did you modify any system apps or settings?

I did have google movies and currents disabled. I reinstalled them and cleared the cache from the system settings under Storage. Unfortunately this still resulted in the same error message above when I tried to install the update.

Have you installed a custom kernel?

No, I have only rooted the device to which I thought that might be causing the issue so I unrooted my device.

I have done a factory reset and I still don't know why I am getting this status 7 error. :( I am honestly so stuck I have no clue what to do next.

I am having trouble applying the OTA update. When I select phone storage the phone just reboots and I don't get a menu asking me to select the update itself.

Any idea where I have gone wrong?

Did you rename the zip and place it in your internal storage's parent folder?

Tried flashing stock GPE Recovery from desktop. I get the error "cannot open 'desktop/M8.GPE.Recovery.img'. I'm in bootloader mode with S-OFF and my computer says it's connected. Java is also installed. Help?

USB debugging is enabled, USB 2.0 is being used on my MacBook Pro 2010 17"

Now I tried putting the .img file into my /Desktop/Android folder and it worked. Now it won't boot into recovery. Will only boot into bootloader, even if I do it with my computer. Still can't update. Any help would be appreciated.

Try reflashing the recovery and then erase the cache.
fastboot erase cache

Yup, done that. Still won't go into recovery. Flashed TWRP and booted into recovery, that worked but for some reason it won't boot to GPE recovery. I tried fastboot erase cache as well.

Did you buy the official GPE or did you convert?

Run fastboot getvar all from fastboot mode and copy over the text. Be sure to leave out your IMEI number.

Andrew Help me please. I'm getting an error message. "Mount SDCARD failed 1 times... till 5. I:Write hostmode:0 done. Later, when put the package stops the process while verifying current system. "(libbt-hci.xo) has unexpected contents" I'm in a converted GPE. Thanks

Did you place the on your SD card or internal storage?

Internal storage

You selected apply from phone storage, and it still reads it as a SD Card?

Yes. As soon I enter the recovery menu, the text "Mount SDCARD failed 1 times" appears. Even tried to install the zip within TWRP and get ( has unexpected contents

Try redownloading the OTA and it can only be flashed in the stock GPE recovery.

I'm having a similar issue. When booted into the gpe recovery there is a message
"Device CW install: No CW files. Skip CW installation." and
"I:Write hostmode:0 done"
When I click on apply from phone storage it returns "check cid failed" then "invalid operation" and reboots.
Official GPE, placed in parent dir of Internal. I've redone this guide 3x now, same result.

Have you changed your cid? It should be GOOGL001.

I didn't change it before getting that error. However I did follow the instructions to change it to "GOOGL001". Still no luck.

It is still giving you the wrong cid error? Try redownloading the OTA and see if that helps.

Revisiting this, still not working for me. I've downloaded the OTA again.

I followed instructions above to flash the stock recovery img multiple times, but each time, after doing so, when I reboot get the "android on back with red exclamation" when I try to go into Recovery. Phone still works fine, boots fine; appears only the recovery img isn't working. Anyone else having same problem?

I have an m7UL I've converted over to GPE, S-Off, HBOOT 1.54, CID-GOOGL001. It's been working great on 4.4.2 for a few months now since I did the conversion, but I wanted to get the 4.4.3 update as I can't do so OTA having TWRP installed.

I have something simillar. I Succesfully converted my m7UL to GPE 4.4.2 (rooted and changed CID to GOOGL001). I received and was able to succesfully install both 4.4.3 and 4.4.4 OTA. Everything is working perfectly, except when I try to go into recovery from the bootmenu. When I select recovery, I see the "loading android" for some time directly followed by the "android on back with exclamation mark". I tried re-flashing the stock recovery, but the result is always the same.

I was on HBOOT 1.57 with CWM before I flashed GPE 4.4.2, now I'm on HBOOT 1.54.

What happens when you hold volume up and tap power?

Thanks Andrew, that seems to work. When I do that, the recovery menu is shown at the top of my screen. On the bottom is says: Can not mount SD card. No such file / directory.

When I select phone storage, there seems to be an error and my phone reboots immediately. I haven't beem able to read the error message yet, because it is only shown for a split second. Guess the stock recovery is somehow broken, but that's OK. I'm getting the official updates over the air and my phone is working perfectly otherwise, so for now I don't need the recovery. If I ever do need recovery, I can just flash a custom recovery. The only reason that I'd like to fix this is that I that I annoyed if something is working 99% the way it should, even if I'm never going to use the 1% that's not working :). Thanks for your help Andrew

So your phone isn't booting into recovery mode at all?

Wil this work on a htc dev edition (i already have play edition on ot at 4.4.2)? tks

Yup, this works on converted Ones as well.

I did this for 4.4.4 and i think my device is bricked or something

I don't think there are any KitKat ROMs for the VX

provided link to download OTA file for M7 is not working....kindly help

hello! i don´t know if my phone is google play edition, Wil this work?

This guide is only for GPE devices.

Thanks for the instructions! I had an error when the update is checking system, it read "ansicprng.ko has unexpected contents" probably because of some changes I made with bulletproof or xposed. Had to flash back the 4.2.2 RUU and then go through the update process described here - and it worked! Immediately after the update it started another update from 4.4.3 to 4.4.4. Everything is finalized now but I do not get the HTC Weather option in settings.

Of course, you have an M8 and I have an M7 - that must be it...

Sorry about that. I should have been more specific in the guide.

I have a non-rooted htc one WITH TWRP from old tests, and I got a OTA update from my carrer. Should I just flash this OTA from step 1 to get it stock WITHOUT the TWRP ? Or from step 5-6 ?

If you want to apply an OTA you will need the stock recovery image on your device.

Hi Andrew - great guides, thanks. I've flashed stock recovery but when trying to boot into recovery I get a blank screen, no android on its back. I try to do volume up then tap power and nothing happens. I can powercycle by holding down power. I erased cache successfully but cannot get device to boot into recovery. I am using converted One M8. Thanks!

Nevermind - 6th try was the charm! Thanks!

Can we follow similar process to apply 4.4.4 update? Would you happen to have a link to that update file?

Hey Andrew, first off, just wanted to thank you for all the awesome posts on the HTC One tutorials. They were really helpful and easy to follow.

I do have some questions regarding OTAs in general for the converted GPE M8. Will I ever be able fetch the OTAs by checking the system updates on the phone, or will I have to manually install according to this tutorial for each new OTA release?

Also, if I want to install 4.4.4 OTA in the comment above, will I have to install the 4.4.3 version first if I am coming from 4.4.2 from the rooted GPE RUU provided in one of your previous articles?

Thanks again for your help!

As long as you used a RUU to convert you can access OTAs from your settings app. The only time you would need to use this method is if you are rooted and do not want to lose that while installing the OTA.

If you are coming from 4.4.2 you will need to apply the 4.4.3 OTA before upgrading to 4.4.4.

So, I have a question, I successfully installed both 4.4.3 and the 4.4.4 updates manually, because my M8 claimed it was up to date on 4.4.2, but that isn't right, because I have the unrooted conversion w/Stock Recovery? Why wouldn't it install it OTA?

That is strange. Did you change your CID to GOOGL001?

I have already the TWRP with venom installed. Do I need to update the TWRP version, the kernel or only the rom?

This only works for M8's that have been converted using a GPE RUU. Are you trying to update Team Venom's GPE ROM?

Hi there,
After step 2 (recovery) the phone will not boot into recovery.
I just get a red exclamation mark when trying too.
I have an original GPE (checked the CID...)
I do have a custom ROM which was installed by the guy I bought it from.
Any ideas?

This will only work if you have the original GPE ROM installed on the device. You would have to run a RUU to restore to stock in order to get OTAs to install.

Alguém pode me ajudar de alguma formar por team viewer? sou do brasil e não falo muito bem inglês, ja faz 2 meses que segui este tutorial para tonar meu htc one m8 em Google edition e não deu certo, parei no passo 6 logo depois de ele reiniciou e não iniciava mais mais, tentei reinstalar varias outras ROMS e não consegui, me ajudem por favor.

Estou subindo um vídeo para vocês verem melhor...

Someone help me Some Form of CAN by team viewer? I'm from Brazil and NOT speak very well English , ja Two months ago that I followed this tutorial Para behold my HTC One m8 in Google issue and did not work , I stopped there Step 6 logo HIM AFTER NOT restarted and started More More , I tried reinstalling several Other ROMS and NO could , please help me .

I'm Going up hum video for you to see Best ...

Este é o video do meu problema.

This is my problem in video.

I have an HTC One M8 that was converted to the Google Play Edition. it has 4.4.4 and i got an OTA to update to 5.0.1. I tried installing it and when it goes into recovery to install, it says error with an android and a red triangle with an exclamation mark. In the settings app, it says I have 4.4.4 and it says the build number is KTU84P.H1 release keys . In the recovery, it says KOT49H.H16 release keys. This is what it says at the bottom of recovery -

Finding update package...
Opening update package...
Verifying update package...
Installing update...
L50QCT . 00.001.001
mount: failed to mount /dev/block/platform/msmsdcc. 1/by-name/userdata at /data: Device or resource busy

Package expects build fingerprint of htc/m8google/htcm8: 4.4.4/KTU84P.H1/356549:user/release-keys or htc/m8google/htcm8: 5.0.1/ LRX22C.H5/434277:user/release-keys; this device has htc/m8google/htcm8: 4.4.2/KOT49H.H16/326432: user/release-keys.

Installation aborted.
I: Write hostmode:0 done

Also, it is S-OFF and the CID is GOOGL001
Do you think I need to update to 4.4.3 and then to 4.4.4 and then wait for the OTA for android 5.0.1?

When I try to flash the recovery, it finishes but when i try to go into the recovery, the screen goes black and the recovery never comes.

Download the stock 4.4.4 recovery from here and retry.

I did that and when i got the OTA for 5.0.1, I updated and the same thing happened, except for at the bottom it now says -

Finding update package...
Opening update package...
Verifying update package...
Installing update...
Verifying current system...
"/system/etc/permissions/platform.xml" has unexpected contents.
Installation aborted.
I: Write hostmode:0 done

That means that xml file was modified. If you rooted your phone and installed any mods that is what caused it. Your best bet is to back up all of your data and then update using an RUU.

How do I update using an ruu? Links for how to do?

Can I flash the ruu that you use to flash the stock m8 to gpe m8?

I flashed the 4.4.4 RUU and then when i updated to 5.0.1 OTA, it worked. Thanks for your help, Andrew.

How do I update using an ruu? Links for how to do?

I have a rooted HTC One M7 and I'm stuck on Step 6. InvalidOperation and after that the phone reboots instantly. I did the whole procedure (upto Step 6) 3-4 times including and skipping 3rd Step. Renamed OTA and placed it in the parent folder(did everything right as mentioned above).. still the same issue. cant apply the OTA.

When I'm flashing the OTA (6th step) It says this at the bottom:
Mount SDCARD failed 1 times -
Mount SDCARD failed 5 times
Can not mount SD Card (No such file or directory)
I: Write hostmode :0 done

(after that I navigate to "apply from phone storage" and when I apply it shows Invalid Operation for just a sec and 2 lines appear after that which I couldn't read as the phone then reboots instantly)

What OS version do you have running on your M7?

This guide is meant for a GPE HTC One. You are using a Sense HTC One which is why you are receiving that error.

Share Your Thoughts

  • Hot
  • Latest