Here’s “CWM Method” of rooting your Samsung Galaxy S4.
Currently, this root method is only for the GT-i9500, GT-i9505, AT&T SGH-i337, Sprint SPH-L720, and Korean (E300S, E300K, E300L) until we have a stable, working CWM recovery for other models.
This root method works on Android 4.4.2 KitKat, 4.3 Jelly Bean and Android 4.4.2 KitKat for all models except AT&T SGH-i337. For SGH-i337, this root method works on 4.3 Jelly Bean and Android 4.4.2 KitKat.
For GT-i9505, AT&T SGH-i337, T-Mobile, Sprint SPH-L720, and Verizon, you can also use the other root method here.
For rooting Sprint S4 on MF9 firmware, see here.
Step 1. Power off you Galaxy S4 and hold down VolumeDown, Center Home, and Power buttons together for about 5 seconds.
Step 2. When you see the warning screen, let go of all buttons then hit the Volume Up button to enter ODIN Download mode.
Step 3. Connect a micro-USB cable from your Galaxy S4 to your computer.
Step 4. Next, download CWM recovery for your Galaxy S4. (Currently only GT-i9500, AT&T, and Sprint is available but I will be updating the page as soon as stable ones are available for other models.)
Step 5. Unzip ODIN and run the odin3 v1.85.exe file by double-clicking on it.
If you see a yellow highlighted box like shown below, you are good to go, if not, double-click on the Samsung USB drivers EXE file you downloaded earlier and install drivers, then unplug/re-plug the micro-USB cable to your phone. You should see yellow highlighted box.
Next, choose PDA, then browse to the CWM recovery you downloaded earlier for your Galaxy S4. (It’s a file ending in .tar) Hit Start to begin flash CWM recovery to your phone.
Step 6. This will flash a custom CWM recovery to your Galaxy S4 and your phone will reboot.
If you see “PASS!” that means everything went successfully.
Step 7. Next, after your phone reboots, copy the SuperSU zip file you downloaded earlier to anywhere on your Galaxy S4.
Step 8. Power off your Galaxy S4 then hold down Volume Up, Center Home, and Power buttons together.
Step 9. When you see the Samsung logo, keep holding down Volume Up and Center Home buttons but let go of the Power button.
Step 10. Once in CWM Recovery, choose “install zip from sdcard” and hit the Power button.
Step 11. Choose “choose zip from sdcard” and hit the Power button.
Step 12. Choose “0/” directory and hit the Power button.
Step 13. Browse and find the SuperSU zip file you copied over earlier and hit the Power button.
Step 14. Choose “Yes” and hit the Power button.
Step 15. This will install su binaries and SuperSU superuser app on your phone. This essentially “roots” your Galaxy S4.
Step 16. Go back to main menu and choose “reboot system now”, then hit Power button. Your Galaxy S4 will reboot.
Step 17. Once rebooted, you should find SuperSU app in your app drawer.
Step 18. Run the SuperSU app once and update the binaries.
Step 19. You can verify you have full root by downloading and opening rooted app like Titanium Backup app (which I highly recommend for backing up/freezing/un-installing your apps).
You should see a Superuser request window pop-up! Congratulations, you have fully rooted your Galaxy S4!
Q1: Why did you use an older version of SuperSU?
A1: I like the older version of SuperSU which doesn’t have delay but you can easily update to the latest version of SuperSU by updating it in Play Store or even switch to SuperUser app.
Q2: After installing recovery and reboot, I don’t see CWM recovery just stock recovery, what’s happening?
A2: That’s caused by some stock firmwares writing over the CWM recovery. To get around it, run ODIN again to flash CWM, then pull battery out when you see “PASS!” in ODIN, then boot straight into recovery by putting the battery back on and using the buttons, you should see CWM recovery now!
Q3: Root is not working on my T-Mobile Galaxy S4 with UVUAMDL firmware!
A3: T-Mobile has put a new SetUID restriction on the kernel, you can fix by flashing UVUAMDL kernel with SetUID restriction removed.
Q4: Root is not working on my Sprint Galaxy S4 with MDL firmware!
A4: Sprint has put a new SetUID restriction on the kernel if you have VPUAMDL build number, you can fix by flashing VPUAMDL kernel with SetUID restriction removed.