How to Root and install TWRP recovery on LG V20 Android Nougat


LG’s 2nd flagship device for the year 2016, the all new LG V20 has been rooted and blessed by a TWRP recovery. The development just happened very recently. With the recovery and root solution out now, you can take your Android Nougat experience on the V20 to an entire new level. LG V20 is already a pure beast, but with the perks of root access, you can install all root specific apps like Greenify, Titanium Backup, Ad Blockers etc. With the TWRP recovery, you can now install Xposed Framework and flash custom ROMs to unleash the real power of your V20.How to Root and install TWRP recovery on LG V20 Android Nougat

The root and recovery solution currently work with the H918 variant of the V20 only. Since Google is making things quite difficult on its Android OS now, rooting and flashing TWRP are not just the same as before. You need to go an extra mile to be able to get across the boundaries on your Android phone. Same is the case here. No traditional flashing methods work with the LG V20 for this moment. You will have to follow the steps very carefully and to the letter to get TWRP and Root on your V20 H918. In the guide coming your way, we have covered the entire method step-by-step. Have a look on it now and learn how to root and install TWRP recovery on LG V20 Android Nougat.

A few things to prepare:

  1. The entire process involves multiple data wipes, so backup each and every single thing from your phone to stay on a safe side.
  2. The process is highly custom and involves a risk of bricking your device. Do not proceed if you are a newbie. This method is only recommended for Android power users.
  3. Download and install LG USB drivers on your computer. Download drivers for Windows | Mac.
  4. Download and install Minimal ADB and Fastboot drivers on your PC. Mac users can use this guide for Mac OS X.
  5. Download all files from this page and copy them to C:\Program Files (x86)\Minimal ADB and Fastboot or where ever you have installed it. Mac users will copy the file to their respective ADB and Fastboot directory.
  6. Now first of all, we need to unlock the bootloader of the LG V20. Let’s have a look on the method now.

Unlock LG V20 Bootloader

  1. Enable USB debugging mode on your LG V20. To do so, go to settings > about device > software info > tap the build number for 7 times to enable Developer Options in settings. Now go to developer options > enable USB debugging mode.
  2. Similarly, enable OEM unlocking from the developer options under settings.
  3. Now connect your LG V20 to your PC and give it the permissions that it is asking on your phone for the ADB and Fastboot mode. You will need to connect your phone in PTP mode at this point.
  4. Now you need to open the command window on your computer. To do so, either go to C:\Program Files (x86)\Minimal ADB and Fastboot > press and hold shift key + right click on an empty area within the folder > click on open command window here or you can open the Minimal ADB and Fastboot.exe file if you have created a desktop shortcut.
  5. Issue the following commands in command window one by one now.
    1. adb reboot bootloader
      1. wait for your phone to reboot in bootloader mode, once it boots up, issue the next command
    2. fastboot oem unlock
      1. this will unlock the bootloader and wipe your phone completely.
    3. fastboot getvar all
      1. this command should return bootloader unlocked: yes.
    4. fastboot reboot
      1. this command should reboot your phone normally now.
  6. That’s all. You are ready for the next step now.

Install a running recovery before flashing the actual TWRP recovery

  1. Download all the recovery binaries from this page.
  2. Now copy all the downloaded files to the Minimal ADB and Fastboot folder mentioned above.
  3. After copy all the files, open command window from the ADB and Fastboot folder once again.
  4. Reboot into adb and fastboot mode once again and this time, issue all these commands.
adb push dirtycow /data/local/tmp
adb push recowvery-applypatch /data/local/tmp
adb push recowvery-app_process64 /data/local/tmp
adb push recowvery-run-as /data/local/tmp

adb shell

$ cd /data/local/tmp
$ chmod 0777 *
$ ./dirtycow /system/bin/applypatch recowvery-applypatch
"<wait for completion>"
$ ./dirtycow /system/bin/app_process64 recowvery-app_process64
"<wait for completion, your phone will look like it's crashing>"
$ exit

adb logcat -s recowvery
"<wait for it to tell you it was successful>"

adb shell reboot recovery
"<wait for phone to boot up again, your recovery will be reflashed to stock>"

adb shell

$ getenforce
"<it should say Permissive, adjust source and build for your device!>"

$ cd /data/local/tmp
$ ./dirtycow /system/bin/run-as recowvery-run-as
$ run-as exec ./recowvery-applypatch boot
"<wait for it to flash your boot image this time>"

$ run-as su
"<play around in your somewhat limited root shell full of possibilities>"
Do not restart your device at this point.

How to Flash TWRP recovery and finally Root the LG V20 now

  • Download TWRP recovery.img file. Copy this file to the Minimal ADB and Fastboot folder now.
  • Download file. If you don’t want to go through the hassle of copying this file by mounting USB storage after booting up into TWRP recovery, then grab a USB OTG and copy these files to the OTG.
  • Make sure that you have followed all steps of the running recovery.
  • Now enter the following commands in command window once again.
adb push twrp-3.0.2-0-beta4-h918.img /sdcard/twrp.img
adb shell
$ run-as exec dd if=/sdcard/twrp.img of=/dev/block/bootdevice/by-name/recovery
"<wait for it to complete>"
$ reboot recovery
  • As TWRP recovery now boots up, it will ask you whether you want to allow system modifications or not. Swipe yes to allow modifications.
  • Now connect USB OTG and mount the USB OTG. Tap Install > Locate the filea and flash it.
  • After flashing file, get back to the main menu in TWRP recovery > tap the Wipe option > Format Data to disable encryption.
  • Reboot your device now and it should be rooted with SuperSU installed in it. That’s all.