Your Guide to Android Developer Options

13

It has been a pretty long time since we’ve been publishing “How-to Guides” and “Tips & Tricks” on our blog. But there is one term which is unique in most of them and is consider to be a top priority while performing these guides. And yes, we’re talking of the “Developer options”. While most of you might be aware of what it is, new users should also have this in their knowledge.

“Developer options” is a set of combined tools and options meant to be used by experienced users or developers, and could be found under device Settings on all Android device. It is highly essential to enable Developer options in order to switch USB Debugging ON, which is a necessary aspect when working on ADB/Fastboot commands and Android Developer Tools.

For many users the Developer options is just a panel of options that lets them enable USB Debugging. The truth is, Developer options has much more significant role to play that you think of. And so we take this privilege to explain the Android Developer options and all its related options/settings to you. However,  to access these settings you first need to enable Developer options, which could be easily done following this guide:

How to Enable Developer Options on Android 4.2/ 4.3 and Android 4.4 KitKat

Below is every term related to Developer options in the simplest manner possible.

Developer Options Explained

  • Take bug report: A bug report is essential for reporting any crashed service, it may be an app or a system service. This option helps in gathering the device log and sending it to anyone (developer or developing community) for tackling and fixing issues. Tap on Take bug report and then on REPORT. It will take a minute or so to prepare and capture the bug report, then it shall appear in the notification panel. Tap on it and share it according to your will.
  • Desktop backup password: ADB could be used to take backup or restore the Apps or App Data. This option forces a password on the backup process, which is later a mandatory aspect while restoring the same backup.
  • Stay awake: There are situations when you need your screen to be awake at all times. Checking this option will keep your device’s screen fully awake when it is plugged in, either to a wall charger or your PC’s USB port. Do not enable this option endlessly as it will consume battery power constantly.
  • HDCP checking: Enabling HDCP or High-bandwidth Digital Content Protection will start protect DRM content by encrypting it.
  • Enable Bluetooth HCI snoop log: A situation may arise, when an App developer or firmware developer may require a log related to Bluetooth. This option will create a log for Bluetooth HCI (Host Controller Interface) and push it to the device storage as btsnoop_hci.log.
  • Process Stats: All the running process, viewed in-detail, all under one roof. Just tap it and go on tracking every background and foreground process running on your beloved Android. A magic wand for an App developer.
  • USB Debugging: Toggle your Android’s debugging mode to be used by ADB commands. Of great use in countless processes.
  • Bug Report Shortcut: Enabling this option will set a shortcut on the Power menu, tapping on which will capture a bug report, ready to be shared.
  • Allow mock locations: This setting will let you overwrite the location information of your device.
  • Enable view attribute inspection: Inspect views’ attributes in Android System Manager.
  • Select debug app: A brilliant tool for App developers to debug their app individually and without using long ADB commands or a debugger. If you’re layman in Android, you do not want to mess with this.
  • Wait for debugger: Select this option to attach the above debugged app instantly when a debugger is detected.
  • Verify apps over USB: Installing content manually or via USB may infect your device with malicious content, which could be potentially harmful for your device. Google will scan it regarding the same.
  • Show touches: This option was first introduced along Android 4.0 Ice Cream Sandwich. It displays a visual round mark at every location where you touch on the screen.
  • Pointer location: This places a detailed information bar at the top of the screen telling the exact coordinates of the current point. This option comes to use at times when you need to check if your screen is responding well or if it is broken.
  • Show surface updates: Flashes the screen every time there is an update in any of the surface elements. Annoying as it works.
  • Show layout bounds: Outlines every single screen element to display every inch of the area of activation.
  • Force RTL layout direction: RTL or Right-to-Left, enabling this option will turn every element of your device screen from right to left, just like a mirror image.
  • Window animation scale: Change the speed of window animations on your Android according to your choice. The lower the number, the least amount of time allotted to an animation, hence a fast animation.
  • Transition animation scale: The speed at which your system transitions work. Lower the number to get a faster response.
  • Simulate secondary display: Enable a secondary display just alongside your primary display. You’ve got options for a large variety of screen sizes including mdpi, tvdpi and xhdpi.
  • Force GPU rendering: 2D figures (applications, services or games) take support of the software libraries to work. Enabling this option will force 2D elements to be rendered using GPU.
  • Show GPU view updates: When operating on GPU, this will flash a Red screen.
  • Show hardware layer updates: Hardware layer means a layer rendered on your device’s screen using hardware acceleration (GPU). When this layer is updated, the screen shall flash Green.
  • Debug GPU overdraw: Overdraw means to draw something on an already drawn element. On Android, while we activate the touch response, an overdraw takes place. Turning this ON will highlight and display every single overdraw that takes place.
  • Force 4x MSAA: Multi-sample Anti-aliasing is a type of Anti-aliasing which could be used to improve the image quality, giving a little hard time to the performance (This depends on your smartphone’s hardware configuration)
  • Disable HW overlays: Whenever Android system is rendering a graphic (2D or 3D), it first decides to distribute the services to either CPU or GPU. Checking this option will force all rendering to the CPU only. Turning this ON might give you a better battery life, but will not let your device perform up to its potential.
  • Strict mode enabled: There are times when an operation takes a longer time than usual, it may be running on background or on main screen. Enabling this will flash the screen when any such process is taking place, bringing it to the user’s notice.
  • Show CPU usage: Shows a window on the top-right of the screen which displays all the current CPU usage and process. If you’re a developer and not fond of using 3rd party apps, this is your hold-up.
  • Profile GPU rendering: Setting this ON will tell you how hard the GPU is operating. Either by displaying a graph or by writing it to a log file.
  • Enable OpenGL traces: This will track OpenGL errors and push them to a log file. Meant to be used by professional developers.
  • Don’t keep activities: Activities keep running in background and a situation may arise when you might need to turn each and every one of them. Enabling this will terminate every process as soon as you exit the main application thread.
  • Background process limit: Either prevent all the processes to run in background or limit the processes to a specific number.
  • Show all ANRs: Android Not Responding or ANR is a dialog shown to the user when a process or service terminates unexpectedly due to some error. Mostly this ANR dialog is displayed for known services or apps, and hidden for a lot of others. Enabling this setting will show the dialog for each and every process that is operating.

Generally, these most of these settings are not put to use. But it is always wise to add knowledge, which may come in handy sometimes. We’ve given our best attempt to explain all the terms and settings for your reference.

Give us some feedback about our writings in the comments below.

  • Rishabh RV

    use a parallel APP , you got this app from playstore it will help u to use ur other apps as two separate apps

  • Rajesh Hedaoo

    I use an trading software on my android device but as i off the screen the software(App) gets stop. Pls suggest any solution that as i on the screen after switching off the app must work or keep working while screen is off.

  • Jon

    You can find the attributes in Hierarchy Viewer (under “tools” directory in the sdk folder)

  • Mandy Mandy Riu

    For:
    Enable view attribute inspection: Inspect views’ attributes in Android System Manager.
    Where would I find the “Android System Manager”? At first I thought maybe this would turn on additional information when running the UI Automator Viewer, but it does not.

  • Polaris Star

    How much longer should i wait? 🙂

  • Its nice to see that our users are keen for us to write articles for them. And I’m sure our team here shall fulfill your kind request very soon 🙂

  • Polaris Star

    Thats why i need you 🙂
    Could you please show me exactly how in few future days?

  • Yes, it’s but you will have to edit app’s generic app package name and xml file inside.

  • Polaris Star

    Thanks,
    I wanted to know if there is any way to change apps sign or package name or something else to have two same app with same version installed.

  • Always at your service 🙂

  • Please explain, regarding what context are you asking?
    In general, it is not possible to have two same packages at once.

  • Polaris Star

    Hi. one question. is there any way to have 2 copies of an app, installed on devise?

  • ftriplev

    Good work. Thank you.