The ‘Android Developer options‘ is one of the best utilities available to the end user. Most of the enable it to unlock the bootloader or USB debugging, but it’s not just limited to that. There are a lot of things which could be helpful. For example, Ever been ashamed of your Android Easter egg game score? Transition animation settings in the Developer options can help you to reduce the speed of in-game animations that lets you make a huge score.
You can also fake your location by enabling mock location feature (This way you can make someone think you’re at a place, where you aren’t.) There are a lot of options here for you to explore. You can tinker with your device with this new found power. To begin with, you’ll first need to enable the developer options on your Android phone.
- Inside the Android Developer Options
- Enable the Android Developer options
- Quick Settings Developer Tiles
- Take bug report
- System UI demo mode
- Desktop backup password
- Stay Awake
- Enable Bluetooth Host Controller Interface (HCI) snoop log
- USB Debugging
- Select Debug app
- Wait for Debugger
- Store logger data persistently on device
- Select Mock Location App
- Enable view attribute inspection
- Verify apps over USB
- Select USB Configuration
- Bluetooth AVRCP version
- Bluetooth Audio Codec
- Bluetooth Audio Sample Range
- Bluetooth Audio Bits Per sample
- Bluetooth Audio Channel Mode
- Bluetooth Audio LDAC Codec
- Wireless display certification
- Enable Wi-Fi verbose logging
- Aggressive Wi-Fi to cellular handover
- Show Taps
- Pointer location
- Show surface updates
- Show Layout Bounds
- Force RTL layout direction
- Window animation scale
- Transition animation scale
- Simulate secondary displays
- Simulate color space
- Set GPU render
- Force GPU rendering
- Show GPU view updates
- Debug GPU overdraw
- Debug non-rectangular clip operations
- Force 4x MSAA
- Disable HW overlays
- Disable USB audio routing
- Profile GPU Rendering
- Background process limit
- Reset ShortcutManager rate-limiting
- Don’t keep activities
Inside the Android Developer Options
Although, The settings are easy to mess around with and can be disabled anytime. It’s always a good idea to mess around with them after knowing their intended development uses.
Before you begin! You’ll need to enable the developer options to access the settings inside it. However, you can jump this section if you’re here just for information about those settings.
Manufacturers hide the Developer options because they don’t want someone with no idea about it to mess around with it. To use the options inside the ‘Developer options,’ you’ll need to enable it. Below are the simple steps:
- Navigate to Settings > About Device > Build Number.
- Tap 7 times till you see a toast notification that reads You’re now a developer!
- Tap the Back button and you shall see Developer options menu above the About Device section in Settings.
The above steps didn’t work? Don’t worry, in one of our guides. We’ve explained the steps to enable Developer options on different brands. Check the below listed links for brand-specific guides.
- Samsung (Samsung Experience AKA TouchWiz)
- OnePlus (OxygenOS & HydrogenOS)
- Xiaomi (MIUI)
- Huawei (EMUI)
- HTC (Sense UI)
- LG (LG UX AKA Optimus UI)
- Gionee (AmigoOS)
- Vivo (FuntouchOS)
- OPPO (ColorOS)
You can follow the steps, and they should help you with it. If you think Developer options isn’t something you should tinker around. You can follow our guide to disable it. If you want access to it after disabling/hiding it, you can follow the same steps which you used in the past to enable it, and you’ll be able to enable it. We now know how to enable and disable the Android Developer options. So let’s get started with the settings inside Developer options.
Quick Settings Developer Tiles
This option is available on Android 8.0 and its higher versions. You can use it to add ‘selected Developer Options’ to your Quick Settings panel. You can enable the available tiles, and once they are selected. Navigate to the Quick settings, add them to the visible Quick settings and click on them to activate.
Take bug report
When Bug report option is chosen, it will record logcat, archive it, and will send it to whomever you want. It takes a couple of minutes to process, and once the process completes, you’ll see a notification in status bar. Tap on that notification to send the report.
System UI demo mode
It is useful when you want to take a screenshot of your device without any cluttering in the notification bar. Demo mode will show a preset notification bar by hiding all notifications and system warnings. This option is mostly used by the App developers when they capture the screenshot of their app.
Desktop backup password
While discussing ADB commands, we have seen ADB backup option to take a backup of your device. Desktop backup password option can enforce a password for that backup. If you do not want a password for your backup, you can turn this option off.
Enabling Stay awake option will force the phone/tablet’s display to stay on every time it’s plugged into a wall charger or your computer’s USB port. Although, having this option enabled would reduce the battery life and increase the battery consumption. Alternatively, you can also install the apps to stop your device from sleeping (They work even when your device is not charging or connected to a Computer using USB.)
Enable Bluetooth Host Controller Interface (HCI) snoop log
Sometimes, a developer might want to capture and analyze Bluetooth HCI (Host Controller Interface) packets. Enabling this setting will store those logs in a file on the phone storage (/sdcard/btsnoop_hci.log). They can be analyzed with tools like Wireshark.
The USB debugging is one of the most common reasons why people enable the Developer options. It is what allows your device to communicate over the USB port on your PC via ADB (Android Debug Bridge.) You need to enable this option to use ADB commands.
Select Debug app
This option lets you choose an application for debugging purposes. The selected application might be built to use with tools which are used by developers to make sure their app runs as intended.
Wait for Debugger
Wait for debugger option will be greyed out until you set an app to debug. After setting up and selection, it prevents the chosen application from starting until the debugger is attached.
Store logger data persistently on device
The Store logger data persistently option is used to select the type of log messages you want to keep persistently on the device. You will see various options such as ‘off,’ ‘all,’ ‘all but radio,’ and ‘kernel only’ under this setting.
Select Mock Location App
You can use this option to fake the current GPS location of the device to test if your app behaves the same in different demographics. To use this option, you will have to download and install a GPS mock location app. To make the best use of this feature, you can download a lot of apps on Google Play Store.
Enable view attribute inspection
Enabling view attribute inspection will check views’ attributes in Android System Manager. Recording view attribute information in the mAttributes member variable will be helpful for debugging. If you do not want this information in your logcat, you can turn off this option.
Verify apps over USB
This option lets Google scan applications you installed via ADB for malicious behavior which is a good security measure.
Select USB Configuration
The USB configuration is the option to specify how you want the PC to identify the device. You can configure it for charging only, to transfer files (MTP) or to transfer pictures (PTP.) Selecting the default mode is good, but you don’t connect your device just for charging, there’s could be a different reason as well. That’s why Android shows you a popup or a notification while you connect. You can click on it and select the mode in which you want.
Bluetooth AVRCP version
You can use this option to select the profile version you want to use for controlling all of your Bluetooth A/V equipment to which your device is connected.
Bluetooth Audio Codec
This option is to adjust the sound quality of your devices by selecting suitable codecs. Available options are SBC, AAC, aptX, aptX HD and LDAC.
Bluetooth Audio Sample Range
It can adjust the number of audio samples per second by selecting an audio codec sample rate. Higher sample rates will require more resources.
Bluetooth Audio Bits Per sample
You can set the number of bits of information in each audio sample with this option. With a higher the bit rate, the sound will be better, but the sample file will be more significant.
Bluetooth Audio Channel Mode
You can choose between Mono and Stereo with the help of this option. This option is for the sound enthusiasts who might want to test with different audio channel modes.
Bluetooth Audio LDAC Codec
This option will optimize the sound to increase audio quality. It can also balance audio and its connection quality.
Wireless display certification
This setting will activate configuration controls for Wireless Display certification to the specifications outlined in the Wi-Fi Alliance Wi-Fi Display Specification option.
Enable Wi-Fi verbose logging
The WiFi verbose logging is an advanced logging mechanism that increases the Wi-Fi logging level for each wireless network (SSID) you are connected. It records logs according to relative received signal strength (RSSI.)
Aggressive Wi-Fi to cellular handover
The WiFi to cellular handover option is for quick switching between Wifi and Mobile data. When the Wifi signal is low, this option will make the connection more efficient by handing over the data connection to a cellular network.
Select this option to see a visual cue on the phone screen when and where a touch was registered. Enabling this option will bring a round signal on the screen. Many people who record the screen on their Android device find this helpful, as it shows the ‘Taps’ in the video, thereby making navigation more comfortable for the viewer.
Ever studied graphs in the mathematics class? The Pointer location option places information bar at the top of the phone screen and shows screen coordinates of the last place the screen was touched. A lot of App developers study this to find out the areas of their apps which were untouched.
Show surface updates
It makes the edge of a system dialog box flash when its contents are updated.
Show Layout Bounds
This marks the edges of your app’s clip bounds, margins, and other UI constructions on the device.
Force RTL layout direction
This forces device screen orientation for the right to left language support.
Window animation scale
The Window animation scall will set the speed for window animation playback. Set a lower number for faster animation and vice versa.
Transition animation scale
The Transition animation scale is just like the Window animation scale, but it is responsible for transition animation playback. Set a lower number for faster animation.
Simulate secondary displays
This setting will allow developers to simulate different screen sizes to check compatibility of their apps with different displays.
Simulate color space
This option is used to change the color scheme of the entire device UI. The options given in this setting refer to types of color blindness.
Set GPU render
This setting will change the default Open GL graphics engine to the Open GL Skia graphics engine.
Force GPU rendering
This setting forces application to use hardware 2D rendering if they were written not to use it by default.
Show GPU view updates
With the GPU view updates option, any view that drawn with the GPU hardware gets a red overlay.
Debug GPU overdraw
The Debug GPU overdraw will display color-coding on your device so that you can visualize how many times the same pixel has been drawn in the same frame. This option lets you see when and where this is happening, so you will know if it is an issue.
Debug non-rectangular clip operations
Graphics rendering is considered as drawing in canvas, and this option will turn off the clipping area on it to create unusual (non-rectangular) spaces. By default, the clipping area prevents drawing anything outside the bounds of the circular clipping area.
Force 4x MSAA
This option forces multi-sample anti-aliasing (MSAA). More AA makes things look better but worsens the performance.
Disable HW overlays
Without a hardware overlay, every application that displays anything on the screen will share video memory. It also would need to continually check for collision and clipping to render a proper image. It costs a lot of processing power. With a hardware overlay, the application gets its portion of video memory. It can get rid of the need to check for collision and clipping.
Disable USB audio routing
This is to disable automatic routing to external audio devices connected to a PC through a USB port.
Profile GPU Rendering
This option can either draw a graph on the screen or write it to a file. The chart is a visual rendering of how the GPU is working.
Background process limit
The Background process limit allows a custom value of how many processes can run in the background at once.
Reset ShortcutManager rate-limiting
The ShortcutManager rate-limiting option is used during testing to check background apps can continue to call shortcut APIs until the rate limit is reached again.
Don’t keep activities
Enabling this option will ‘force close’ everything when you leave an application’s main view. So if you come out of WhatsApp, it’ll turn off the the application once you are out.
It’s incredible that Google provides these tools for developers to make their debugging and test cases easy. Otherwise, they’d have to jump through a lot of hoops to re-create certain conditions. If you think this article helped you with your research about Developer options or you believe there are still some options to be included, let us know about that in the comment section below.