TWRP for the HTC One (GSM)

End-of-Life, 21 Mar 2017: No further updates are planned for this device.

TeamWin Recovery Project (TWRP) is an open source recovery system for Android devices. Beyond basic features like backup, restore, and the ability to install a new or updated version of Android, TWRP includes numerous additional features:

  • The GUI is XML driven and themeable
  • Partitions can be formatted to a new filesystem type
  • The boot and recovery (yes) partitions can be flashed directly
  • Decryption of AOSP encrypted /data is supported
  • Backups can be encrypted
  • … and quite a bit more

HTC One (GSM) product page on

Fork information

Beginning with version 3.0.M0-0, a forked TWRP repository is used to build releases. This has largely been done to remove the headache that is associated with keeping TWRP compatible with so many (old) Android build systems. For example, the cm-14.1 branch is only designed to be built with LineageOS 14.1. There are other minor changes that are described in the README, but it should be noted that the feature set is largely the same as in official TWRP releases.


Unofficial TWRP Builds

Universal build for m7/m7wls/m7wlv
This universal (unified) build checks the device’s MID (Model ID) during init and applies a device codename based on its findings: PN0720000 → m7wls; PN0731000 → m7wlv; (all other cases) → m7.

Standard builds for m7

Release 3.1.N0-0

  1. Largely in-line with TWRP 3.1.0-0
  2. Encrypted backups are disabled due to poor implementation, see TWRP Issue #817
  3. adb backup is not implemented due to concerns over code quality
  4. Built in cm-14.1 with minor customizations

Release 3.0.M5-0

  1. Largely in-line with TWRP 3.0.2-0
  2. Built in cm-13.0 with minor customizations

Unofficial Important changes since official

  1. Wipe encryption keys from /data footer during format
  2. Support read-only system mounting (optional)
  3. Report success instead of failure on AOSP scripted updates

Unofficial Important changes since official

TWRP has not been tracking my device trees since around version This list may not tell the full story. As always, source code with full commit history is posted next to my download links. That’s your best reference for changes.

  1. Bugfixes in GUI, fonts, and encrypted backups
  2. Fix layered lock screens issue
  3. F2FS filesystem support
  4. Fix decryption of AOSP Lollipop encrypted /data
  5. Update off-mode charging

Unofficial Important changes since official

  1. CPU performance profiles – speeds up compressed and/or encrypted backups

Unofficial Important changes since official

  1. Correctly write bootloader messages to /misc partition without wiping everything else
  2. Track backup and restore progress
  3. Color in the console
  4. Refresh after partition changes
  5. Do not restore file system on data/media devices
  6. libtar: don’t set parent dir’s context when extracting a file
  7. HTC LED charging indicator

Known issues and limitations

  1. [2.8.6.x] Interface lags, especially with keyboard up
  2. [] When waking the device from sleep, sometimes several lock screens need to be swiped away
  3. [all] Cannot decrypt stock Sense encrypted /data (only supports AOSP encryption)