Change Screen Resolution via ADB and save Battery life on Android devices (without Root)

Flagship Android devices of today outputs a wealth of pixels-per-inch on the screen, so much that our human eyes can’t even see them. But that’s how things are with flagships, you get things that are aren’t necessarily useful.

Anyway, apart from the unnecessity, there’s also a performance issue with higher resolution on your device — reduced battery life. The more pixels the screen will output, the more battery power it’ll need, and hence the reduced battery life.

So if you own one of these Flagships with unnecessarily higher resolution like 1440 x 2560 pixels, then reducing the resolution can significantly reduce the battery consumption of Screen on the device.

Now reducing the resolution might sound like a thing that requires root access, but thanks to Google, in the recent releases of Android, it’s now possible to change screen resolution via a simple ADB command without the need of root access.

How to Change Screen Resolution on Android via ADB (without Root)
  1. Setup ADB on your PC.
  2. Enable USB debugging on your phone:
    1. Open Settings » go to About phone and tap seven times on Build number, this will enable Developer options.
    2. Now go back to Settings and you’ll see “Developer options” there, open it.
    3. Tick the USB Debugging checkbox.
  3. Connect phone to the PC.
  4. Open a command window on the PC and issue the following commands to change screen resolution to 1080 x 1920 and density to 390:
    adb shell wm size 1080x1920
    adb shell wm density 390
  5. Reboot phone with the following command:
    adb reboot

That’s all. Your phone will scale down the resolution to 1080 x 1920 Full HD, and you’ll have increased battery life. Cheers!

Happy Androiding!

Posted by
Shivam Malani

Shivam is our resident designer and web developer who also enjoys writing. He loves to meditate, drive on the freeways and hunt for snipers during his Call Of Duty playtime. Email: [email protected]

24 Comments

  1. did exactly what you have mentioned above, but it said “error: device not found”

    1. Try typing “adb devices” first, and see if your device is both recognized and connected.

    2. ensure usb debugging is enabled in your phone developer settings

  2. did exactly what you have mentioned above, but it said “error: device not found”

    1. Try typing “adb devices” first, and see if your device is both recognized and connected.

    2. ensure usb debugging is enabled in your phone developer settings

  3. I’m getting a certain error:

    “error: device unauthorized.
    This adbd’s $ADB_VENDOR_KEYS is not set; try ‘adb kill-server’ if that seems wrong.
    Otherwise check for a confirmation dialog on your device.”

    Any fixes?

    1. Unlock your phone, and check for a dialog that’s asking whether to enable usb debugging for this computer. Choose yes. The dialog will pop up directly after unlocking device, on whatever screen you might happen to be on.

  4. I’m getting a certain error:

    “error: device unauthorized.
    This adbd’s $ADB_VENDOR_KEYS is not set; try ‘adb kill-server’ if that seems wrong.
    Otherwise check for a confirmation dialog on your device.”

    Any fixes?

    1. Unlock your phone, and check for a dialog that’s asking whether to enable usb debugging for this computer. Choose yes. The dialog will pop up directly after unlocking device, on whatever screen you might happen to be on.

  5. I’m getting a certain error:

    “error: device unauthorized.
    This adbd’s $ADB_VENDOR_KEYS is not set; try ‘adb kill-server’ if that seems wrong.
    Otherwise check for a confirmation dialog on your device.”

    Any fixes?

  6. I’m getting a certain error:

    “error: device unauthorized.
    This adbd’s $ADB_VENDOR_KEYS is not set; try ‘adb kill-server’ if that seems wrong.
    Otherwise check for a confirmation dialog on your device.”

    Any fixes?

  7. This sort of works. However, when you reboot the device, (at least on an LG G3) the LG logo will never go away and is stuck indefinitely. I managed to punch in my unlock code while the logo is on (so the phone still runs normally as if it were displaying content, you just can’t see any of it as it is obscured by the LG splash screen) and punched in the original resolution and density which actually resolved the issue.

    Unfortunately, for an unrooted LG G3, this method will not work.

  8. This sort of works. However, when you reboot the device, (at least on an LG G3) the LG logo will never go away and is stuck indefinitely. I managed to punch in my unlock code while the logo is on (so the phone still runs normally as if it were displaying content, you just can’t see any of it as it is obscured by the LG splash screen) and punched in the original resolution and density which actually resolved the issue.

    Unfortunately, for an unrooted LG G3, this method will not work.

  9. This sort of works. However, when you reboot the device, (at least on an LG G3) the LG logo will never go away and is stuck indefinitely. I managed to punch in my unlock code while the logo is on (so the phone still runs normally as if it were displaying content, you just can’t see any of it as it is obscured by the LG splash screen) and punched in the original resolution and density which actually resolved the issue.

    Unfortunately, for an unrooted LG G3, this method will not work.

  10. Thank you. This command works.

  11. Thank you. This command works.

  12. I have recently replaced the screen of my smartphone. I lost about 3% of the screen size. With this command, I continue with a bit of screen loss, but now only of about 3 pixels (even though my resolution is veeery high, I could see it). Many thanks. 🙂

    1. ECW Mike Awesome NOSTALGICO

      Which Android you have? You Changed Screen Resolution on Android 9?

  13. Absolutely WRONG.
    Scaling the output does not actually change the resolution being sent to the display. Scaling CONSUMES CPU or GPU cycles (depending on what hardware the scaling is being done on), and therefore INCREASES power consumption.

  14. Thank you. This command works.

  15. Hey bro, thank you for this.

    Do you know how to restore its screen resolution after this?
    Do you just set its own resolution using mentioned commands here? or any other suggestion?

    1. I think it’s adb shell wm reset

  16. 1st: Plenty of devices will show the changes on the fly, without reboot… actually, i never saw any device that doesn’t change resolution and dpi on the fly.
    2nd: you can check your default density or resolution by writing the command without any value
    $ adb shell wm density/resolution”
    Physical density/resolution: “Original Value”
    Override density/resolution: “Your Value”

    or simply reset by
    $ adb shell wm density/resolution reset

    “density/resolution means you’ll write density or resolution on the command, not both.”

Comments are closed.