Configure on-device developer options (original) (raw)

The Settings app on Android includes a screen called Developer options where you can 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.

Enable Developer options

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.

Note: On some devices, the Developer options screen might be located or named differently.

  1. On your device, find the Build number option. The following table shows the settings location of the Build number on various devices:
    Table 1. Device settings location for theBuild number option
    Device Setting
    Google Pixel Settings > About phone > Build number
    Google Pixel Watch Settings > System > About > Versions > Build number
    Samsung Galaxy S8 and later Settings > About phone > Software information >Build number
    LG G6 and later Settings > About phone > Software info > Build number
    HTC U11 and later Settings > About > Software information > More >Build number or Settings > System > About phone > Software information > More > Build number
    OnePlus 5T and later Settings > About phone > Build number
  2. Tap the Build Number option seven times until you see the message You are now a developer! This enables developer options on your device.
  3. Return to the previous screen to find Developer options at the bottom.

Figure 1. On-device developer options.

At the top of the Developer options screen, you can toggle the options on and off, as shown in figure 1. Keep this on. When off, most options are disabled except those that don't require communication between the device and your development computer.

Enable debugging on your device

Before you can use the debugger and other tools, you need to enable debugging, which allows Android Studio and other SDK tools to communicate with your device. You can connect overUSB or Wi-Fi.

Enable USB debugging in the device system settings under Developer options. You can find this option in one of the following locations, depending on your Android version.

Enable Wi-Fi debugging in the device system settings under Developer options. You can find this option in one of the following locations, depending on your Android version.

After you've enabled Wi-Fi debugging on the device, pair your device to your development computer. See Connect to a device over Wi-Fi.

General options

Tap Quick settings developer tiles to add selected developer options to your Quick Settings panel.

Once you select one or more of the available tiles, shown in figure 2, open the Quick Settings panel and tap the pencil to enter edit mode. Then, drag the developer tiles from the tiles pane onto the Quick settings panel, and tap the pencil again to exit edit mode.

Figure 2. Add options to the Quick Settings panel.

Other general options include the following:

Debugging

Figure 3. Debugging options enabled.

Debugging options provide ways to configure on-device debugging and to establish communication between the device and your development computer.

Enable USB debugging, as shown in figure 3, so your Android device can communicate with your development machine through Android Debug Bridge (adb). The Wait for Debugger option is unavailable until you useSelect 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.

Other debugging options include the following:

Figure 4. View attributes.

Networking

Figure 5. Select USB Configuration options.

Networking options provide ways to configure Wi-Fi and DHCP settings.

Tap Select USB Configuration to specify how you want the computer to identify the device. As shown in figure 5, you can configure devices for charging only, to transfer files (MTP), to transfer pictures (PTP), to use your mobile internet on the PC (RNDIS), or to transfer audio or MIDI files.

Tap Bluetooth AVRCP version and select the profile version you want to use to control the Bluetooth A/V equipment your device has access to.

Additionally, to fine-tune audio playback on the device, tap and set the following options:

The following list describes other ways to configure Wi-Fi and DHCP setup:

Input

Enable Show taps to display taps when you touch the screen. A circle appears under your finger or stylus and follows you as you move around the screen. A tap works like a pointer when you record a video on your device.

Figure 6. Pointer location bar.

Enable Pointer Location to show the pointer (tap) location on the device with cross-hairs. A bar appears across the top of the screen to track the cross-hair coordinates, as shown in figure 6. As you move the pointer, the coordinates in the bar track the cross-hair location and the pointer path draws on the screen.

Drawing

Figure 7. User interface constructions.

Drawing options provide visual cues about the app's user interface and how it operates.

Enable Show Layout Bounds to show your app's clip bounds, margins, and other user interface constructions on the device, as shown in figure 7.

Other drawing options include the following:

Hardware-accelerated rendering

Figure 8. Deuteranomaly color space.

Hardware-accelerated rendering options provide ways to optimize your app for its target hardware platforms by leveraging hardware-based options such as the GPU, hardware layers, and multisample anti-aliasing (MSAA).

Tap Simulate color space to change the color scheme of the entire device UI. The options refer to types of color blindness. The choices are:

Protanomaly refers to red-green color blindness with weakness in red colors, and Deuteranomaly, shown in figure 8, refers to red-green color blindness with weakness in green colors.

If you take screenshots in a simulated color space, they appear normal, as if you didn't change the color scheme.

Some other ways to leverage hardware-based options are the following:

Set Disable USB audio routing on to disable automatic routing to external audio devices connected to a computer through a USB port. Automatic routing can interfere with apps that are USB-aware.

In Android 11 and higher, when an application withoutRECORD_AUDIO permission usesUsbManager to request direct access to a USB audio device with audio capture capability (such as a USB headset), a warning message appears asking the user to confirm permission to use the device. The system ignores any "always use" option, so the user must acknowledge the warning and grant permission every time an app requests access. To avoid this behavior, your app should request theRECORD_AUDIO permission.

Monitoring

Figure 9. GPU rendering profile as bar representation.

Monitoring options provide visual information about app performance, such as long thread and GPU operations.

Tap Profile GPU Rendering and then On screen as bars to display the GPU rendering profile as bars, as shown in figure 9. For more information, see Profile GPU rendering speed.

Apps

Figure 10. Set background process limit.

App options help you understand how your app operates on the target device.

Tap Background process limit to set the number of processes that can run in the background at one time. Possible settings are shown in figure 10.

Tap Reset ShortcutManager rate-limiting during testing so background apps can continue to call shortcut APIs until the rate limit is reached again. For more information about shortcuts and rate limits, seeShortcutManager.

Enable Don't keep activities to increase battery life by destroying every activity as soon as the user leaves the activity's main view.

To turn off system protections for sensitive app content for upcoming screen share sessions tap Disable screen share protections. This setting is intended to be used only for demos or testing, and should not be used as a permanent setting.