[ZTE Axon 7 Guides, News, & Discussion] Teet1:
Hello everyone! In this guide I'll show you how to root ZTE's official release of Android Oreo 8.0. This is important if you wanted to upgrade (or downgrade....depending on your view) to ZTE's official release of Android 8.0 by going back to complete stock first and then installing the update zip file in stock recovery. Doing it this way fastboot does not work anymore since Nougat B32 and you do not have a custom recovery anymore, making you stuck on a rootless Android Oreo. Since there isn't a rooted TWRP flashable version of this just yet, this guide will show you how to root your Android and also become unstuck from having a stock recovery without fastboot. This could also help in unbricking with an incompatible recovery or if you accidentally flashed an official release of MiFavor or StockUI+ and the custom recovery is overwritten by stock recovery without root and fastboot.

This could also help if you have trouble with EDL drivers.

This has only been done and tested on an A2017U. If you're attempting this on another model, do so at your own risk! This guide is only for Windows 10!

This is not exactly noob friendly. This guide assumes you have ADB installed and everything.

I attempted this on my own whim. It was certainly a pain in the butt to get this to work for me as well because of EDL driver trouble. But if I managed to figure it out, you can too!

First you're gonna need to download tennear's axon7tool here. Rename is to just axon7tool so it's easier to type.

Download NFound's TWRP 3.2.1-8 for Oreo here and rename it to recovery.bin. Put it in the same directory where axon7tool is.

Download Zadig here. This is for replacing the EDL drivers to some generic ones that this tool can use to connect to your phone in EDL mode.

Download Magisk 16.2 here. Any newer Magisk version especially 17.1 causes a bootloop unfortunately so do NOT update. You can try different versions, but try at your own risk.

We need to get into "proper" EDL mode. It is not recommended to do the "shut down your phone and hold both volume buttons and power on to get into EDL mode" way. This did not work for me. In order to get into proper EDL mode, make sure you're booted into Android and make sure Android Debugging is turned on. Open ADB on your computer and type

adb reboot edl

and the phone will boot into proper EDL mode.

After your phone is booted into proper EDL mode, connect your usb cable into your phone and go into the Control Panel of Windows and go to Device Manager

In Device Manager, look for either "qualcomm usb loader 9008" or "QUSB_BULK". It doesn't really matter. Once you found it, its probably not necessary but I did it anyway, right click on it and click to uninstall. If it asks to uninstall any software then click that as well.

After it is uninstalled, unplug your phone and plug it back in. It'll probably install some drivers again but that's okay. It might reinstall as QUSB_BULK even if you had "qualcomm usb loader 9008"

It gets kinda tricky after this part, but it should work. If it doesn't, drop a comment below and I will try to help!

Open Zadig. Click on Options and then click List all devices. Look for QUSB_BULK in the drop down menu and select it.

After you've found it and selected it, you'll see on the bottom box it'll display what kind of driver it is loading. We need to replace it with WinUSB. Click on Replace Driver. After a few seconds it'll say it finished successfully. QUSB_BULK should read this now:

This means that we can now use axon7tool.

Open command prompt and navigate to where you downloaded axon7tool. In this case, it is on my desktop. Let's test to see if we have a connection. First we need to backup our recovery image, so we can test that out by typing

axon7 tool -r recovery

This will read our recovery image and back it up and put it on our directory as "backup-recovery.bin"

If you get an error that says

Connecting to device...
S: failed to read command
S: Failed to receive hello
terminate called after throwing an instance of 'std::runtime_error'
what(): error: Unknown error

Then you need to go back into EDL mode manually again. Turn off your phone by holding power for 10 seconds and then turn it on back into Android. Once there open ADB and type again

adb reboot edl

so we can go back to proper EDL mode and try the above axon7tool command again. It should work successfully this time.

If it works, it'll backup recovery and then reboot your phone as shown below.

You'll have a backup-recovery.bin saved into your directory. Now that we know this works, we can write our TWRP recovery image!

Type

axon7tool -w recovery

and it'll successfully write and reboot as shown below.

While it reboots, go into recovery by holding Volume UP and Power, or while on the unlocked bootloader message press a volume button and select "Recovery" to get into recovery. This is to make sure that the stock rom does not overwrite our custom recovery with stock recovery

You will now be greeted with NFound's custom TWRP recovery!

Well, backup system and data in TWRP and then flash Magisk 16.2 as you would do! Wipe cache/dalvik if you want and then reboot, you should be rooted!