See [Determine the package name of your app](https://android.stackexchange.com/questions/28767/view-apps-full-package-name) to get the package name of the concerned app and use *[tag:adb] shell* to execute these commands:

<pre>
adb shell
su
pm disable PACKAGE              # disables the app and hides it in Settings -> Applications 
pm hide PACKAGE                 # alternative; for Android Lollipop and above
cmd package suspend PACKAGE     # alternative; package remains visible in Launcher and Settings app but cannot be used; a feature of Device Administration
</pre>   

`PACKAGE` refers to package name of the app

To reinstate the app, replace *disable* with *enable*, *hide* with *unhide*, and *suspend* with *unsuspend* in the said command and execute it with root privilege.

If you've Android KitKat or above and **do not have root access**, use [tag:adb] in PC to execute this command:

<pre>
adb shell pm block PACKAGE         # for Android KitKat
adb shell pm hide  PACKAGE         # for Android Lollipop only
adb shell pm disable-user PACKAGE  # alternative to `pm hide`; for Android Lollipop and above; this works just like disabling an app through Settings app
</pre>

To reinstate the app:

<pre>
adb shell pm unblock PACKAGE   # for Android KitKat
adb shell pm unhide PACKAGE    # for Android Lollipop and only if you used `pm hide` earlier
adb shell pm enable PACKAGE    # for Android Lollipop and above
</pre>

Changes would take place immediately.