It is fairly straightforward to root an Android phone using SDK platform tools (adb, fastboot), for example this is a very nice guide how to root HTC One M8. Basically you download SuperSU superuser manager to your device, download custom recovery image onto your computer and flash it to your device via command
fastboot flash recovery your_custom_recovery.img
then reboot into newly flashed recovery and flash the SuperSU. Boom, you’re done.
The problem with this approach, once you phone receives OTA (over the air) update (e.g. new version of Android) it needs original stock recovery to install it. If you have custom recovery (e.g. TWRP) – OTA update will fail. The solution is, when you root your phone, not to flash custom recovery, but just to reboot into it without flashing. Instead of above command, use
fastboot boot your_custom_recovery.img
This command will reboot your phone into custom recovery without flashing it. Then you can flash SuperSU and after reboot your phone will be rooted and original stock recovery remains.
You can even save the original stock recovery (after you rooted the phone) in case you do need to flash custom one. This way you can have a backup of stock recovery in case you need to flash it back to install OTA update. Below steps are for HTC One M8, but other devices will have similar approach:
Assuming that your phone is connected to PC, you have correct drivers installed and USB debugging mode enable.
run "adb shell" command on your PC "su" (watch your phone and grant permission if needed) "dd if=/dev/block/mmcblk0p43 of=/sdcard/stock_recovery.img"
This will copy stock recovery of your HTC One M8 into file “stock_recovery.img” on the SD Card.
Credits go to this XDA thread
Could you please do this exact same guide for the HTC 10?
@japongt How you already have your HTC 10 🙂 ? It’s still on preorder for me. Will look into this when I get mine. But frankly – I came to realize root is overrated. Especially in non-provider specific models. In my current incarnation of HTC One M8 I’ve been living without root for a long while and I don’t miss it. Besides, some things like Android Pay don’t work on rooted phones.
@Yuriy I personally don’t have it yet but many people do. Review units are everywhere and units are shipping this week. I pre-ordered it and should have it by next week. If it were needed, we can always unroot to use things like android pay right?
@japongt thought so too, but found that things like temp-unroot/hide root don’t fool it. And going full unroot every time I need to pay at the register seems a bit of overkill. And I genuinely don’t see the need for root anymore. There were times when I used different ROM almost every week, overclocked the hell out of the phone, but with phones like HTC 10 I am content with unrooted stock. Maybe just getting older 🙂
@Yuriy Who knows, maybe I might end up not rooting. But how else can I transfer app date from phone to phone without titanium backup?