Note: All the following commands below require root access.
On Android Oreo, this works and does a graceful shutdown:
adb shell su -c 'am start -a com.android.internal.intent.action.REQUEST_SHUTDOWN' adb shell su -c 'am start -n android/com.android.internal.app.ShutdownActivity' #alternative; the aforesaid intent is supposed to be passed to this component under normal circumstances, but calling the component alone works too adb shell su -c 'svc power shutdown' # alternative; tested on Android 5.0, 6.0.1 and 8.1.0
Following is an alternative and is tested on Android 4.2, 5.0 and 6.0.1. I do not know about Nougat but it doesn't work for Oreo though.
adb shell su -c 'am start -a android.intent.action.ACTION_REQUEST_SHUTDOWN --ez KEY_CONFIRM true --activity-clear-task' # I kept this here for historical purposes only.
##For low-level and instant shutdown
For low-level and instant shutdown
If you're running Android KitKat or above* and have root access, you can try this command:
adb shell su -c 'setprop sys.powerctl reboot,recovery'
- replace su -c with adb shell to run the command using adb
- replace reboot,recovery with reboot to reboot the device
- replace reboot,recovery with shutdown to shutdown the device
* The last version on which the command is tested upon is stock Android 6.0.1.