The Settings app on Android includes a screen called Developer options that lets you configure system behaviors that help you profile and debug your app performance.
For example, you can enable debugging over USB, capture a bug report, enable visual feedback for taps, flash window surfaces when they update, use the GPU for 2D graphics rendering, and more.
Table of contents
- Developer options and USB debugging
- General options
- Hardware accelerated rendering
Developer options and USB debugging
On Android 4.1 and lower, the Developer options screen is available by default. On Android 4.2 and higher, you must enable this screen. To enable developer options, tap the Build Number option 7 times.
Some of the options you can find in the following locations, depending on your Android version:
Android 9 (API level 28) and higher: Settings > About Phone > Build Number
Android 8.0.0 (API level 26) and Android 8.1.0 (API level 26): Settings > System > About Phone > Build Number
Android 7.1 (API level 25) and lower: Settings > About Phone > Build Number
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.
Other general options include the following:
- Take bug report: Get a copy of the current device log files to share with someone. It has 2 types of bug report 1. Interactive Report 2. Full Report
- Memory: Display memory status, such as average memory usage, memory performance, total memory available, average memory used, how much free memory is available, and how much memory is being used by apps.
- System UI demo mode: It takes clear screenshots by without any cluttering in the notification bar.
- Desktop backup password: (password protected) Sets a backup password so you can use adb commands to back up and restore device apps
- Stay awake: Sets your screen to stay on every time you plug it in charger or your computer’s USB port.
- Running Services It shows all running apps in background & also shows how long it has been running & how much RAM apps consumed.
- Enable Demo Mode allows you to change the appearance of the status bar using adb demo mode commands. Or you can use Show Demo Mode to hide notifications and display a preset status bar.
- Enable Bluetooth Host Controller Interface (HCI) snoop log: Captures all Bluetooth HCI packets in a file stored at
/sdcard/ btsnoop_hci.log. You can retrieve the packets, and then use a program like Wireshark to analyze and troubleshoot the information.
Debugging options provide ways to configure on-device debugging, allows your device to communicate over the USB port on your PC via ADB (Android Debug Bridge.)
- USB debugging This option lets you choose an application for debugging purposes. so your Android device can communicate with your development machine through Android Debug Bridge (adb).
- Wait for Debugger option is unavailable until you use Select debug app to select the app to debug. If you enable Wait for Debugger, the selected app waits for the debugger to attach before it executes.
- Store logger data persistently on device: Select the type of log messages you want to store persistently on the device.
- Select mock location app: Use this option to fake the GPS location of the device to test whether your app behaves the same in other locations.
- Enable view attribute inspection: inspection will check views’ attributes in Android System Manager.
- Enable GPU debug layers: Available on devices running Android 9 (API level 28) and higher, enable this option to allow loading Vulkan validation layers from local device storage.
Networking options provide ways to configure Wi-Fi and DHCP settings.
Verify apps over USB This lets Google scan applications you installed via ADB for malicious behavior which is a good security measure.
Select USB Configuration 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.
Bluetooth AVRCP version This option is to select the profile version that you want to use for controlling all of your Bluetooth A/V equipment to which your device is connected.
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 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 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.
Bluetooth Audio Channel Mode There will be options
This option is 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
The 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
It 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
It 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.
- Show taps Enabling the option bring a round cirlce on the screen.A tap works like a pointer when you Record a video on your device.
- Pointer location This option places information bar at the top of the phone screen and shows screen coordinates of the last place the screen was touched. A bar appears across the top of the screen to track the cross-hair coordinates by X & y actions
It provide visual cues about the app’s user interface
- Show Layout Bounds app’s clip bounds, margins, and other user interface constructions on the device.
- Force RTL layout direction forces device screen orientation for the right to left language support.
- Window animation scale It will set the speed for window animation playback & Set a lower number for faster animation and vice versa.
Hardware accelerated rendering:
- Simulate color space It is used to change the color scheme of the entire device. The options given in this setting refer to types of color blindness.
- Set GPU render setting will change the default Open GL graphics engine to the Open GL Skia graphics engine.
- Force GPU rendering setting forces application to use hardware 2D rendering if they were written not to use it by default.
- Show GPU view updates The any view that drawn with the GPU hardware gets a red overlay.
- Debug GPU overdraw It 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.For more information, see Visualize GPU overdraw.
- 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.
- Force 4x MSAA Enables multi-sample anti-aliasing (MSAA). More AA makes things look better but lesser in performance.
- Disable HW overlays every application uses Hadware overlays to displays 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.
Visual information about app performance, such as long thread and GPU operations.
- Profile GPU Rendering 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.
Monitoring options provide visual information about app performance, such as long thread and GPU operations.
Strict mode: It flash the screen when apps are running for long time
Profile GPU Rendering Its shows how GPU works On screen as bars to display the GPU rendering profile as bars
we can get output by connecting your computer through In adb shell dumpsys gfxinfp
App options help you understand how your app operates on the target device.
- 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 Shortcut Manager rate-limiting option 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’ that to stop everything when you leave an application’s main view.
Congratulations you’ve successfully enabled your DEVELOPER OPTIONS in your android phone…