Rooting your device comes with significant risks, especially if you’re new to the process. Some manufacturers or carriers may refuse to honor your warranty, and you could even brick your device.
If you’d rather not root, but still want power feature, you can tweak many hidden settings to enhance your user experience with Android Debug Bridge (ADB).
A common misconception with ADB is that it’s only useful for developers or with a rooted device. But that’s not true. We’ll show you some third-party apps that take advantage of ADB to enable powerful features without rooting your device.
Setting Up ADB on Your Devices
It’s essential to set up ADB properly before you install these third-party apps. The procedure and execution are different on Windows and macOS.
Step 1: Download the Android SDK Platform Tools. If you’re using a Mac, Homebrew is the preferred method to install ADB—see our guide to starting with Homebrew if you’re new to it. Once you install Homebrew, open Terminal and type:
brew install homebrew/cask/android-platform-tools
Step 2: If you’re on Windows, install the ADB drivers for your device. You’ll find a list of links for this on the Android developer website. You can also try the simple “15 seconds ADB installer” tool from xda-developers. You don’t need any drivers for Mac.
Step 3: Extract the zip file to your C: drive. The contents sit in a folder called platform-tools. On Mac, this folder lives in the Casks folder.
Back on your Android device, follow these steps:
Step 4: Enable Developer Options (if it isn’t already). To do this, go to Settings > About phone and tap on the Build number seven times.
Step 5: Plug your phone into the computer. Once it’s connected, tap the USB connection notification that appears. Make sure the connection mode is set to PTP.
Step 6: In Settings > Developer Options, toggle the USB debugging slider and proceed through the dialog box that follows.
Using PowerShell or Terminal
Step 7: On Windows, hold the Shift key and right-click the platform-tools folder discussed earlier. Choose Open PowerShell window here. To check for ADB, enter this command:
Note: In PowerShell, make sure that you put the dot-backslash before adb devices. Otherwise, you’ll see errors. Putting dot-backslash is not needed if you’re using the Command Prompt.
Step 8: You’ll see a prompt on your phone asking for permission to enable USB debugging access. Grant this.
Step 9: If you’re on a Mac, open the Terminal and type in adb devices to start ADB. For each of the app commands below, you can omit the .\ as that’s for Windows users of PowerShell only.
We’ve got advice if you’re having trouble and Android won’t connect to Windows over ADB.
Now, let’s look at some of the best ADB apps for Android.
1. App Ops
App Ops is a framework inside Android that allows you to tweak the permissions of individual apps. It first appeared in Android 4.3, but somehow wasn’t directly exposed in the interface.
Android 6.0 brought a major change to how Android permissions work. Instead of the old all-or-nothing permission model, you could finally control individual permissions for apps in the App permissions screen.
However, the permissions you get to manage aren’t that granular. For example, when you grant WhatsApp access to your contacts, it can both read and modify your contacts. You can’t selectively allow or deny each component of the permission. App Ops provides you access to all permissions for any app, in a beautiful interface.
App Ops requires Android 6.0 and above. You also need the Shizuku Manager app to call and handle system level APIs, and make App Ops work efficiently.
After setting up ADB, open Shizuku Manager. Type in this command in PowerShell:
.\adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/files/start.sh
Now open App Ops, tap any app, and explore the depth of permissions. Once you modify the permissions, tap the Refresh button to save your settings.
- Comes with support for 13 languages and beautiful themes (including Night mode).
- Backup and restore settings of non-framework apps.
- You can either allow or selectively deny permissions for newly installed apps by setting up templates.
- Multiple grouping and sort options—by app name, permissions, installation time, and more.
Download: App Ops (Free, premium version available)
The Quick Settings menu can perform all sorts of useful tasks directly from the notification shade. But you can also enhance it by adding custom quick setting toggles.
Tiles collects these custom quick settings toggles in a single place. There are almost 70 categories, allowing you to control vital phone settings including brightness, volume, location, cellular data, and much more. You can activate or deactivate each tile to avoid cluttering the Quick Settings screen.
Some quick settings toggles require ADB. To do this, set up ADB and paste this command:
.\adb shell pm grant com.rascarlo.quick.settings.tiles android.permission.WRITE_SECURE_SETTINGS
Once you get access, you can control or manage animations, data roaming, immersive mode, location, USB debugging, and more.
- You have the control to show or hide the tile visibility.
- With Activity Tiles, you can add tiles to start hidden activity of some apps.
- You can choose a selective location mode with Location Tiles. Options include high accuracy, battery saving, and device-only mode.
Download: Tiles ($1)
Doze is an amazing Android feature. It reduces battery consumption by suspending background CPU and network activity when your device’s screen is turned off, unplugged, and stationary. It was introduced in Android 6, while Android 7 brought further improvements.
The feature will block wakelocks (if any), stop sync mechanisms temporarily, and prevent Wi-Fi and GPS scans. Naptime improves the implementation of Doze with more features. It enforces aggressive Doze and kicks in minutes after the screen goes off.
Paste this command:
.\adb -d shell pm grant com.franco.doze android.permission.DUMP
Next, enter this command:
.\adb -d shell pm grant com.franco.doze android.permission.WRITE_SECURE_SETTINGS
After getting the access, whitelist Naptime from Android’s battery optimization (Settings > Apps & notifications > See all X apps > Naptime > Advanced > Battery > Battery optimization) so that it can work properly.
- The app is simple to use without any complex menus or setup. Just toggle the options listed in the app.
- It gives you detailed Doze stats and history to know when Doze started or stopped.
- If you use Tasker or MacroDroid, you can enable or disable Doze on demand.
Download: Naptime (Free)
4. Fluid Navigation Gestures
Using gestures to navigate your device is nothing new. But most Android manufacturers use custom gestures that all work differently. With so many variations, they’re not intuitive or customizable. In most cases, you can only toggle them on or off.
Fluid Navigation Gestures lets you configure nearly every aspect of navigation gestures. To get started, it gives you three basic gestures—swipe, swipe to hold, and drag. You can use these gestures at the left and right edges of your screen, bottom-left and right, and bottom-center.
To use certain features and hide navigation keys, use this command:
.\adb shell pm grant com.fb.fluid android.permission.WRITE_SECURE_SETTINGS
To restore the navigation keys, disable the app and uninstall. Or type this command:
.\adb shell wm overscan 0,0,0,0
- You can hide the navigation keys and use gestures to navigate.
- Set actions for quick swipe and during swipe on hold. Configure the back button for quick swipe, recent apps on swipe and hold, toggle quick settings, and more.
- You can set sensitivity, location, and sound for gesture feedback.
Download: Fluid Navigation Gestures (Free, premium version available)
Apps running persistently in the background can consume system resources and decrease battery life. There are many apps that can help prevent this, including the popular app Greenify. But they’re often messy and it’s tough to implement certain features.
Brevent can execute app standby or force-stop apps just by using ADB.
Launch the app and set up ADB. Then enter this command:
.\adb -d shell sh /data/data/me.piebridge.brevent/brevent.sh
Brevent does not force stop apps or put them on standby by default. You have to put them in the brevent list first. Tap and hold any app, then tap the Deny button. Once your app is in this list, it’ll no longer stay active in the background.
Tap the app and choose Allow sync from the dialog box to receive notifications or execute tasks.
- You can restrict battery-hogging apps like Facebook while still allowing syncing to receive notifications.
- For rarely used apps, you can set aggressive options to force-stop them as soon as you press the back button.
Download: Brevent (Free, premium version available)
6. Better Battery Stats
Finding apps that cause your phone’s battery to drain is a mystery. How do you know that a particular app goes into a sleep state when you quit it? And how can you measure the effectiveness of battery saver apps like Naptime?
Better Battery Stats retrieves detailed data about your battery. It shows you apps that wake up your device from a deep sleep state, finds unusual changes in behavior and what’s happening behind the scenes, plus collects info about app usage and wakelocks. The data shows up in different categories—since boot, unplugged, screen off, and more.
Previously, this app was only available for rooted devices. But with ADB, anyone can start using it. Paste and run these commands in order:
.\adb -d shell pm grant com.asksven.betterbatterystats android.permission.BATTERY_STATS
.\adb -d shell pm grant com.asksven.betterbatterystats android.permission.DUMP
.\adb -d shell pm grant com.asksven.betterbatterystats android.permission.PACKAGE_USAGE_STATS
- Shows you the screen on vs. awake ratio. Ideally, the screen on time should be equal to the awake time.
- Find changes in the awake/sleep profile and quickly identify the rogue apps.
- Battery stats shows you the detailed metrics of Doze so you can check how effective battery-saver apps are.
- It can pick out apps that result in partial wakelocks or apps that consume CPU in kernel wakelocks.
Download: Better Battery Stats ($2)
Android Hacks That Don’t Need Root
Rooting opens up your phone with a whole bunch of great tweaks. But it can prevent some apps from working, and increases the risk to your device with potential security problems. For many users, rooting is not a viable option.
With ADB and some amazing third-party apps as discussed above, you can enhance the user experience even without rooting. For more, take a look at some popular hacks that you can perform without rooting your device.