CINXE.COM
Device management overview | Android Open Source Project
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Android Open Source Project"> <meta property="og:type" content="website"><meta name="theme-color" content="#34a853"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/androidsource/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/images/favicon.svg"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/images/touchicon-180.png"><link rel="canonical" href="https://source.android.com/docs/devices/admin"><link rel="search" type="application/opensearchdescription+xml" title="Android Open Source Project" href="https://source.android.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://source.android.com/docs/devices/admin" /><link rel="alternate" hreflang="x-default" href="https://source.android.com/docs/devices/admin" /><link rel="alternate" hreflang="ar" href="https://source.android.com/docs/devices/admin?hl=ar" /><link rel="alternate" hreflang="bn" href="https://source.android.com/docs/devices/admin?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://source.android.com/docs/devices/admin?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://source.android.com/docs/devices/admin?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://source.android.com/docs/devices/admin?hl=fa" /><link rel="alternate" hreflang="fr" href="https://source.android.com/docs/devices/admin?hl=fr" /><link rel="alternate" hreflang="de" href="https://source.android.com/docs/devices/admin?hl=de" /><link rel="alternate" hreflang="he" href="https://source.android.com/docs/devices/admin?hl=he" /><link rel="alternate" hreflang="hi" href="https://source.android.com/docs/devices/admin?hl=hi" /><link rel="alternate" hreflang="id" href="https://source.android.com/docs/devices/admin?hl=id" /><link rel="alternate" hreflang="it" href="https://source.android.com/docs/devices/admin?hl=it" /><link rel="alternate" hreflang="ja" href="https://source.android.com/docs/devices/admin?hl=ja" /><link rel="alternate" hreflang="ko" href="https://source.android.com/docs/devices/admin?hl=ko" /><link rel="alternate" hreflang="pl" href="https://source.android.com/docs/devices/admin?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://source.android.com/docs/devices/admin?hl=pt-br" /><link rel="alternate" hreflang="pt" href="https://source.android.com/docs/devices/admin?hl=pt" /><link rel="alternate" hreflang="ru" href="https://source.android.com/docs/devices/admin?hl=ru" /><link rel="alternate" hreflang="es" href="https://source.android.com/docs/devices/admin?hl=es" /><link rel="alternate" hreflang="es-419" href="https://source.android.com/docs/devices/admin?hl=es-419" /><link rel="alternate" hreflang="th" href="https://source.android.com/docs/devices/admin?hl=th" /><link rel="alternate" hreflang="tr" href="https://source.android.com/docs/devices/admin?hl=tr" /><link rel="alternate" hreflang="vi" href="https://source.android.com/docs/devices/admin?hl=vi" /><title>Device management overview | Android Open Source Project</title> <meta property="og:title" content="Device management overview | Android Open Source Project"><meta property="og:url" content="https://source.android.com/docs/devices/admin"><meta property="og:locale" content="en"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Device management overview" } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="androidsource-theme" type="article" layout="docs" display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner" keep-tabs-visible> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="androidOpenSourceProject" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/images/lockup.svg" class="devsite-site-logo" alt="Android Open Source Project"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab class="devsite-dropdown devsite-active "> <a href="https://source.android.com/docs" track-metadata-eventdetail="https://source.android.com/docs" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - docs" track-metadata-module="primary nav" aria-label="Docs, selected" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" > Docs </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Docs" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs" track-metadata-position="nav - docs" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column android-source-tabs-dropdown-column-small"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>What's new?</li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/whatsnew/release-notes" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/whatsnew/release-notes" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Release notes </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/whatsnew/latest-security-bulletins" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/whatsnew/latest-security-bulletins" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Latest security bulletins </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/whatsnew/latest-cdd" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/whatsnew/latest-cdd" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Latest Compatibility Definition Document (CDD) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/whatsnew/site-updates" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/whatsnew/site-updates" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Site updates </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Getting Started</li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/about" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/about" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> About </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/start" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/start" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Start </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/download" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/download" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Download </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/build" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/build" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Build </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/test" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/test" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Test </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/create/coding-tasks" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/create/coding-tasks" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Create </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/contribute" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/contribute" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Contribute </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/community/cofc" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/community/cofc" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Community </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/setup/reference" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/setup/reference" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Tools, build, and related reference </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Security</li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/security/overview" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/security/overview" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/security/bulletin" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/security/bulletin" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Bulletins </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/security/features" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/security/features" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Features </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/security/test/fuzz-sanitize" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/security/test/fuzz-sanitize" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Testing </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/security/best-practices" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/security/best-practices" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="what's new?" tooltip > <div class="devsite-nav-item-title"> Best Practices </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-source-tabs-dropdown-column-small"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Core Topics</li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/architecture" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/architecture" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Architecture </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/audio" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/audio" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Audio </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/camera" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/camera" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Camera </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/connect" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/connect" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Connectivity </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/data" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/data" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Data </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/display" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/display" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Display </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/fonts/custom-font-fallback" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/fonts/custom-font-fallback" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Fonts </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/graphics" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/graphics" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Graphics </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/interaction" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/interaction" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Interaction </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/media" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/media" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Media </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/perf" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/perf" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Performance </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/permissions" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/permissions" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Permissions </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/power" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/power" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Power </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/runtime" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/runtime" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Runtime </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/settings" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/settings" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Settings </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/storage" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/storage" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Storage </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/tests" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/tests" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Tests </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/ota" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/ota" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Updates </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/core/virtualization" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/core/virtualization" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="core topics" tooltip > <div class="devsite-nav-item-title"> Virtualization </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-source-tabs-dropdown-column-small"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Compatibility</li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/compatibility/cdd" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/compatibility/cdd" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Compatibility Definition Document (CDD) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/compatibility/cts" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/compatibility/cts" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Compatibility Test Suite (CTS) </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Android Devices</li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/devices/cuttlefish" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/devices/cuttlefish" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Cuttlefish </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/devices/admin" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/devices/admin" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Enterprise </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/devices/tv" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/devices/tv" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> TV </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Automotive</li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/automotive/start/what_automotive" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/automotive/start/what_automotive" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Get Started </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/automotive/guidelines" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/automotive/guidelines" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Guidelines for Development </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/automotive/dev-tools" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/automotive/dev-tools" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Development Tools </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/automotive/tools" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/automotive/tools" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Testing Tools and Infrastructure </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/docs/automotive/start/releases" track-type="nav" track-metadata-eventdetail="https://source.android.com/docs/automotive/start/releases" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Release Details </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Reference</li> <li class="devsite-nav-item"> <a href="https://source.android.com/reference/hidl" track-type="nav" track-metadata-eventdetail="https://source.android.com/reference/hidl" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> HIDL </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/reference/hal" track-type="nav" track-metadata-eventdetail="https://source.android.com/reference/hal" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> HAL </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/reference/tradefed/classes" track-type="nav" track-metadata-eventdetail="https://source.android.com/reference/tradefed/classes" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Trade Federation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://source.android.com/reference/sts/classes" track-type="nav" track-metadata-eventdetail="https://source.android.com/reference/sts/classes" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" track-metadata-module_headline="compatibility" tooltip > <div class="devsite-nav-item-title"> Security Test Suite </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://cs.android.com/android/platform/superproject/main" track-metadata-eventdetail="https://cs.android.com/android/platform/superproject/main" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - go to code ➚" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: GO TO CODE ➚" track-name="go to code ➚" > GO TO CODE ➚ </a> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Android Open Source Project" tenant-name="Android Open Source Project" > <form class="devsite-search-form" action="https://source.android.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt" >Português</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://source.android.com/docs" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Documentation </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://source.android.com/docs/whatsnew" track-metadata-eventdetail="https://source.android.com/docs/whatsnew" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - what's new?" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: What's New?" track-name="what's new?" > What's New? </a> </tab> <tab > <a href="https://source.android.com/docs/setup" track-metadata-eventdetail="https://source.android.com/docs/setup" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - getting started" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Getting Started" track-name="getting started" > Getting Started </a> </tab> <tab > <a href="https://source.android.com/docs/security" track-metadata-eventdetail="https://source.android.com/docs/security" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - security" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Security" track-name="security" > Security </a> </tab> <tab > <a href="https://source.android.com/docs/core" track-metadata-eventdetail="https://source.android.com/docs/core" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - core topics" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Core Topics" track-name="core topics" > Core Topics </a> </tab> <tab > <a href="https://source.android.com/docs/compatibility" track-metadata-eventdetail="https://source.android.com/docs/compatibility" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - compatibility" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Compatibility" track-name="compatibility" > Compatibility </a> </tab> <tab class="devsite-active"> <a href="https://source.android.com/docs/devices" track-metadata-eventdetail="https://source.android.com/docs/devices" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - android devices" track-metadata-module="primary nav" aria-label="Android Devices, selected" data-category="Site-Wide Custom Events" data-label="Tab: Android Devices" track-name="android devices" > Android Devices </a> </tab> <tab > <a href="https://source.android.com/docs/automotive" track-metadata-eventdetail="https://source.android.com/docs/automotive" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - automotive" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Automotive" track-name="automotive" > Automotive </a> </tab> <tab > <a href="https://source.android.com/reference" track-metadata-eventdetail="https://source.android.com/reference" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="androidOpenSourceProject" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/images/lockup.svg" class="devsite-site-logo" alt="Android Open Source Project"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/docs" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Docs" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Docs </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" > <span class="devsite-nav-text" tooltip menu="Docs"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Docs"> </span> </span> </li> </ul> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/docs/whatsnew" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: What's New?" track-name="what's new?" data-category="Site-Wide Custom Events" data-label="Responsive Tab: What's New?" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > What's New? </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Getting Started" track-name="getting started" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Getting Started" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Getting Started </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/security" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Security" track-name="security" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Security" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Security </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Core Topics" track-name="core topics" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Core Topics" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Core Topics </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/compatibility" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Compatibility" track-name="compatibility" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Compatibility" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Compatibility </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/devices" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Android Devices" track-name="android devices" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android Devices" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Android Devices </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/automotive" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Automotive" track-name="automotive" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Automotive" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Automotive </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/reference" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="https://cs.android.com/android/platform/superproject/main" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: GO TO CODE ➚" track-name="go to code ➚" data-category="Site-Wide Custom Events" data-label="Responsive Tab: GO TO CODE ➚" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GO TO CODE ➚ </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/docs/devices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cuttlefish</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Basics</span> </div></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/get-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/get-started" ><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/restart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/restart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/restart" ><span class="devsite-nav-text" tooltip>Restart and reset</span></a></li><li class="devsite-nav-item devsite-nav-new"><a href="/docs/devices/cuttlefish/snapshot-restore" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/snapshot-restore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/snapshot-restore" ><span class="devsite-nav-text" tooltip>Snapshot and restore</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/gpu" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/gpu" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/gpu" ><span class="devsite-nav-text" tooltip>GPU graphics acceleration</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/control-panel" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/control-panel" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/control-panel" ><span class="devsite-nav-text" tooltip>Control panel</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/webrtc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/webrtc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/webrtc" ><span class="devsite-nav-text" tooltip>WebRTC streaming</span></a></li><li class="devsite-nav-item devsite-nav-new"><a href="/docs/devices/cuttlefish/docker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/docker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/docker" ><span class="devsite-nav-text" tooltip>Run Cuttlefish on Docker</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/cts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/cts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/cts" ><span class="devsite-nav-text" tooltip>Run CTS stable</span></a></li><li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Edit-compile-run cycle</span> </div></li><li class="devsite-nav-item devsite-nav-new"><a href="/docs/devices/cuttlefish/custom-device" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/custom-device" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/custom-device" ><span class="devsite-nav-text" tooltip>Create a custom device</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/kernel-dev" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/kernel-dev" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/kernel-dev" ><span class="devsite-nav-text" tooltip>Develop Android kernel</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/bootloader-dev" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/bootloader-dev" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/bootloader-dev" ><span class="devsite-nav-text" tooltip>Develop Android bootloader features</span></a></li><li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Virtual hardware</span> </div></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/display-hotplug" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/display-hotplug" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/display-hotplug" ><span class="devsite-nav-text" tooltip>Display hotplug</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/multi-display" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/multi-display" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/multi-display" ><span class="devsite-nav-text" tooltip>Multi-display</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/multi-tenancy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/multi-tenancy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/multi-tenancy" ><span class="devsite-nav-text" tooltip>Multi-tenancy</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/control-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/control-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/control-environment" ><span class="devsite-nav-text" tooltip>Environment control</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/connectivity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/connectivity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/connectivity" ><span class="devsite-nav-text" tooltip>Test connectivity of multiple devices</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/wifi" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/wifi" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/wifi" ><span class="devsite-nav-text" tooltip>Wi-Fi</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/cuttlefish/bluetooth" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/bluetooth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/bluetooth" ><span class="devsite-nav-text" tooltip>Bluetooth</span></a></li><li class="devsite-nav-item devsite-nav-new"><a href="/docs/devices/cuttlefish/nfc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/cuttlefish/nfc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/cuttlefish/nfc" ><span class="devsite-nav-text" tooltip>NFC</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Enterprise</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/devices/admin" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin" ><span class="devsite-nav-text" tooltip>Device management overview</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/implement" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/implement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/implement" ><span class="devsite-nav-text" tooltip>Device management</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/device-policy-resolution" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/device-policy-resolution" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/device-policy-resolution" ><span class="devsite-nav-text" tooltip>Device policy resolution framework</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/multi-user" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/multi-user" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/multi-user" ><span class="devsite-nav-text" tooltip>Support multiple users</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/custom-user-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/custom-user-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/custom-user-types" ><span class="devsite-nav-text" tooltip>Implement custom user types</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/multi-user-testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/multi-user-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/multi-user-testing" ><span class="devsite-nav-text" tooltip>Test multiple users</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/managed-profiles" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/managed-profiles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/managed-profiles" ><span class="devsite-nav-text" tooltip>Employ work profiles</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/provision" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/provision" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/provision" ><span class="devsite-nav-text" tooltip>Provision for device management</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/multiuser-apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/multiuser-apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/multiuser-apps" ><span class="devsite-nav-text" tooltip>Multiuser apps</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/enterprise-telephony" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/enterprise-telephony" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/enterprise-telephony" ><span class="devsite-nav-text" tooltip>Enterprise telephony</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/testing-setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/testing-setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/testing-setup" ><span class="devsite-nav-text" tooltip>Test device management</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/admin/ota-updates" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/admin/ota-updates" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/admin/ota-updates" ><span class="devsite-nav-text" tooltip>Enterprise OTA updates</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>TV</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/devices/tv" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/tv" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/tv" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/tv/tuner-framework" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/tv/tuner-framework" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/tv/tuner-framework" ><span class="devsite-nav-text" tooltip>Tuner framework</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/tv/media-cas" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/tv/media-cas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/tv/media-cas" ><span class="devsite-nav-text" tooltip>CAS framework</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/tv/hdmi-cec" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/tv/hdmi-cec" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/tv/hdmi-cec" ><span class="devsite-nav-text" tooltip>HDMI-CEC control service</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/tv/multimedia-tunneling" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/tv/multimedia-tunneling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/tv/multimedia-tunneling" ><span class="devsite-nav-text" tooltip>Multimedia tunneling</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/tv/reference-tv-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/tv/reference-tv-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/tv/reference-tv-app" ><span class="devsite-nav-text" tooltip>Reference TV app</span></a></li><li class="devsite-nav-item"><a href="/docs/devices/tv/customize-tv-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/devices/tv/customize-tv-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/devices/tv/customize-tv-app" ><span class="devsite-nav-text" tooltip>Customize the TV app</span></a></li></ul></div></li> </ul> <ul class="devsite-nav-list" menu="Docs" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > What's new? </span> </span> </li> <li class="devsite-nav-item"> <a href="/docs/whatsnew/release-notes" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Release notes" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Release notes </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/whatsnew/latest-security-bulletins" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Latest security bulletins" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Latest security bulletins </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/whatsnew/latest-cdd" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Latest Compatibility Definition Document (CDD)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Latest Compatibility Definition Document (CDD) </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/whatsnew/site-updates" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Site updates" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Site updates </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Getting Started </span> </span> </li> <li class="devsite-nav-item"> <a href="/docs/setup/about" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: About" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > About </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/start" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Start" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Start </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/download" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Download" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Download </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/build" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Build" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Build </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/test" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Test" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Test </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/create/coding-tasks" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Create" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Create </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/contribute" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contribute" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contribute </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/community/cofc" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Community </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/setup/reference" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tools, build, and related reference" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tools, build, and related reference </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Security </span> </span> </li> <li class="devsite-nav-item"> <a href="/docs/security/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/security/bulletin" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Bulletins" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Bulletins </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/security/features" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Features" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Features </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/security/test/fuzz-sanitize" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Testing" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Testing </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/security/best-practices" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Best Practices" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Best Practices </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Core Topics </span> </span> </li> <li class="devsite-nav-item"> <a href="/docs/core/architecture" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Architecture" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Architecture </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/audio" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Audio" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Audio </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/camera" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Camera" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Camera </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/connect" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Connectivity" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Connectivity </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/data" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Data" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Data </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/display" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Display" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Display </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/fonts/custom-font-fallback" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Fonts" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Fonts </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/graphics" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Graphics" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Graphics </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/interaction" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Interaction" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Interaction </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/media" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Media" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Media </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/perf" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Performance" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Performance </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/permissions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Permissions" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Permissions </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/power" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Power" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Power </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/runtime" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Runtime" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Runtime </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/settings" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Settings" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Settings </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/storage" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Storage" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Storage </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/tests" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tests" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tests </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/ota" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Updates" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Updates </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/core/virtualization" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Virtualization" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Virtualization </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Compatibility </span> </span> </li> <li class="devsite-nav-item"> <a href="/docs/compatibility/cdd" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Compatibility Definition Document (CDD)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Compatibility Definition Document (CDD) </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/compatibility/cts" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Compatibility Test Suite (CTS)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Compatibility Test Suite (CTS) </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Android Devices </span> </span> </li> <li class="devsite-nav-item"> <a href="/docs/devices/cuttlefish" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cuttlefish" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Cuttlefish </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/devices/admin" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Enterprise" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Enterprise </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/devices/tv" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TV" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TV </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Automotive </span> </span> </li> <li class="devsite-nav-item"> <a href="/docs/automotive/start/what_automotive" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Get Started" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Get Started </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/automotive/guidelines" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guidelines for Development" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guidelines for Development </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/automotive/dev-tools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Development Tools" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Development Tools </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/automotive/tools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Testing Tools and Infrastructure" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Testing Tools and Infrastructure </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/automotive/start/releases" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Release Details" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Release Details </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Reference </span> </span> </li> <li class="devsite-nav-item"> <a href="/reference/hidl" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: HIDL" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > HIDL </span> </a> </li> <li class="devsite-nav-item"> <a href="/reference/hal" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: HAL" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > HAL </span> </a> </li> <li class="devsite-nav-item"> <a href="/reference/tradefed/classes" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Trade Federation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Trade Federation </span> </a> </li> <li class="devsite-nav-item"> <a href="/reference/sts/classes" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Security Test Suite" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Security Test Suite </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-sidebar > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars ></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://source.android.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Android Open Source Project" > AOSP </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://source.android.com/docs" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Docs </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://source.android.com/docs/devices" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="" > Android Devices </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> Device management overview </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <p>Devices running Android 5.0 or higher support device management modes, enabling enterprise IT admins to set device policies on enrolled managed devices. The device policies available to a device management app might depend on the type of management mode used for enrollment. While a few device management APIs (see <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager"><code translate="no" dir="ltr">DevicePolicyManager</code></a> for a full set of API elements) might have applications beyond enterprise use, most are designed for use in corporate environments to be deployed with <a href="https://www.android.com/enterprise/">Android Enterprise solutions</a>.</p> <h2 id="how-works" data-text="How Android Enterprise works" tabindex="-1">How Android Enterprise works</h2> <p>Android Enterprise uses the device policy controller (DPC) app to enforce device management policies. An <a href="https://androidenterprisepartners.withgoogle.com/emm/">enterprise mobility management (EMM) solutions provider</a> supplies customers with device management solutions, which typically include an on-device device policy app (DPC app) and a cloud-based EMM console. Enterprise customers can enroll devices and apply management policies to the devices they enrolled using the EMM console.</p> <p>A DPC app can run in profile owner mode on personal and corporate-owned devices, or in device owner mode on corporate-owned devices.</p> <h2 id="management-modes" data-text="Android Enterprise device management modes" tabindex="-1">Android Enterprise device management modes</h2> <p>Android Enterprise uses these device management modes:</p> <ul> <li><p><strong>Fully managed device</strong> (also referred to as <em>device owner mode</em>): A DPC app is set as a <a href="#fully-managed">device owner</a> during setup and it manages an entire device. This type of device management can be used only on organization-owned (company-owned) devices that are used for work.</p></li> <li><p><strong>Work profile</strong> (also referred to as <em>managed profile mode</em>): A DPC app is set as a <a href="#work-profile">profile owner</a> and it manages only the work profile on a device, which can also have a personal profile. This type of device management can be used on a personal device or an organization-owned device.</p></li> </ul> <h3 id="fully-managed" data-text="Fully managed device provisioning (device owner provisioning)" tabindex="-1">Fully managed device provisioning (device owner provisioning)</h3> <p>Android comes with a broad set of management features that allow organizations to configure devices for everything from corporate employee use, to factory or industrial environments, to customer-facing signage and kiosk purposes. With <a href="/docs/compatibility/13/android-13-cdd#3911_device_owner_provisioning">device owner provisioning</a> (fully managed devices), organizations can enforce Android's <a href="https://developers.google.com/android/work/requirements/fully-managed-device">full range of management policies,</a> including device-level policies that are unavailable to work profiles.</p> <p>A Fully managed device:</p> <ul> <li>Contains only work apps and data.</li> <li>Is visible to the organization.</li> <li>Is managed by the organization.</li> </ul> <p>Device owner provisioning can be performed only during the out-of-box setup (or on a factory reset device) and should be provisioned only on devices that are owned by an enterprise. This is typically achieved by verifying unique device identifiers (such as an IMEI or a serial number), or by using a dedicated set of corporate accounts that are authorized for device enrollment. After device owner provisioning completes successfully, the DPC app is set as the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isDeviceOwnerApp(java.lang.String)">device owner app</a>.</p> <p>Fully managed devices are particularly well suited for <a href="https://developer.android.com/work/dpc/dedicated-devices">dedicated device</a> use cases where a device is typically <a href="https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode">locked to a single app or set of apps</a> , such as check-in kiosks or digital signage. Android supports several device owner enrollment methods such as QR code-based enrollment, NFC based enrollment, corporate accounts, or cloud-based enrollment. EMM solutions developers can refer to <a href="https://developers.google.com/android/work/play/emm-api/prov-devices#Key_provisioning_differences_across_android_releases">Key provisioning differences across Android versions</a> for details.</p> <aside class="note"><strong>Note:</strong><span> The device owner can be set only on an unprovisioned device. If <code translate="no" dir="ltr">Settings.Secure.USER_SETUP_COMPLETE</code> has ever been set, the device is considered provisioned and the device owner can't be set. The device must be factory reset before it can be provisioned again.</span></aside> <h3 id="work-profile" data-text="Work profile provisioning (profile owner provisioning)" tabindex="-1">Work profile provisioning (profile owner provisioning)</h3> <p><a href="/docs/compatibility/13/android-13-cdd#3912_managed_profile_provisioning">Profile owner provisioning</a> enables the user to have both a work profile (managed profile) and a personal profile on a device. This type of device management can be used on an organization-owned device or a personal device. Profile owner provisioning can be performed during the out-of-box setup (used for organization-owned devices) or initiated after out-of-box setup on a device with a primary profile (bring-your-own-device type enrollment), depending on the type of device and enrollment method supported by the organization. In devices provisioned with a work profile, the DPC has control only over the work profile (work apps and data) and not the personal profile. Device policies are enforced only on the work profile with some exceptions, such as enforcing the lock screen, which is applicable across the device.</p> <aside class="note"><strong>Note:</strong><span> There might be a few additional policies enforceable on organization-owned devices with a work profile compared to personal devices with a work profile.</span></aside> <p>During profile-owner provisioning, the framework copies the DPC app into the managed profile and calls the <code translate="no" dir="ltr">ADMIN_POLICY_COMPLIANCE</code> intent handler on the work profile user. When work profile provisioning is complete, work badged app icons appear in the launcher. After profile owner provisioning completes successfully, the DPC app is set as the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isProfileOwnerApp(java.lang.String)">Profile Owner app</a>. Android supports various work profile enrollment methods such as QR code-based enrollment, NFC-based enrollment, accounts, or cloud-based enrollment. EMM solutions developers can refer to <a href="https://developers.google.com/android/work/play/emm-api/prov-devices#Key_provisioning_differences_across_android_releases">Key provisioning differences across Android versions</a> for details.</p> <h2 id="resources" data-text="Resources" tabindex="-1">Resources</h2> <ul> <li><a href="https://developers.google.com/android/work/overview">Android Enterprise Developer Overview</a></li> <li><a href="https://developers.google.com/android/management">Android Management API (for EMMs)</a></li> </ul> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Content and code samples on this page are subject to the licenses described in the <a href="/license">Content License</a>. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.</p> <p>Last updated 2024-11-01 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-01 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Build</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//android.googlesource.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Android repository </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/source/requirements" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Requirements </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/source/downloading" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Downloading </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//developers.google.com/android/blobs-preview/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Preview binaries </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//developers.google.com/android/images/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Factory images </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//developers.google.com/android/drivers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Driver binaries </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/Android/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > @Android on Twitter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/AndroidDev/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > @AndroidDev on Twitter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//blog.google/products/android/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Android Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//security.googleblog.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Google Security Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//groups.google.com/forum/?fromgroups#!forum/android-platform/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Platform on Google Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//groups.google.com/forum/?fromgroups#!forum/android-building/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Building on Google Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//groups.google.com/forum/?fromgroups#!forum/android-porting/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" > Porting on Google Groups </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Get help</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//support.google.com/android/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Android Help Center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//support.google.com/pixelphone/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Pixel Help Center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.android.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > www.android.com </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.android.com/gms/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Google Mobile Services </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//stackoverflow.com/questions/tagged/android-source/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Stack Overflow </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//issuetracker.google.com/issues?q=status:open%20componentid:190923" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Issue Tracker </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/source/" data-category="Site-Wide Custom Events" data-label="Footer About Android link" > About Android </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/source/community" data-category="Site-Wide Custom Events" data-label="Footer Community link" > Community </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/legal" data-category="Site-Wide Custom Events" data-label="Footer Legal link" > Legal </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/license" data-category="Site-Wide Custom Events" data-label="Footer License link" > License </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//issuetracker.google.com/issues/new?component=191476" data-category="Site-Wide Custom Events" data-label="Footer Site feedback link" > Site feedback </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt" >Português</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-2TQ26MFY2E", "purpose": 0}], "ga4p": [{"id": "G-2TQ26MFY2E", "purpose": 0}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Android Open Source Project", "signedIn": "False", "tenant": "androidsource", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="a/vnetGOshuJDDiD1vyeRy+V2iXyD+"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/js/app_loader.js', '[7,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource","https://androidsource-dot-devsite-v2-prod.appspot.com",1,null,["/_pwa/androidsource/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/images/favicon.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/androidsource/images/lockup.svg","https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","source.android.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Analytics__enable_clearcut_logging","Search__enable_dynamic_content_confidential_banner","CloudShell__cloud_shell_button","Cloud__enable_cloud_facet_chat","Experiments__reqs_query_experiments","Cloud__enable_llm_concierge_chat","Concierge__enable_pushui","MiscFeatureFlags__enable_project_variables","Profiles__enable_release_notes_notifications","Profiles__require_profile_eligibility_for_signin","MiscFeatureFlags__developers_footer_image","Search__enable_ai_eligibility_checks","Profiles__enable_completecodelab_endpoint","Profiles__enable_complete_playlist_endpoint","Search__enable_suggestions_from_borg","Profiles__enable_dashboard_curated_recommendations","EngEduTelemetry__enable_engedu_telemetry","Search__enable_page_map","Cloud__enable_free_trial_server_call","Profiles__enable_awarding_url","Cloud__enable_cloud_shell_fte_user_flow","TpcFeatures__enable_required_headers","MiscFeatureFlags__emergency_css","DevPro__enable_cloud_innovators_plus","Profiles__enable_recognition_badges","CloudShell__cloud_code_overflow_menu","DevPro__enable_developer_subscriptions","Cloud__enable_cloud_shell","Profiles__enable_public_developer_profiles","Profiles__enable_developer_profiles_callout","Cloud__enable_cloudx_ping","MiscFeatureFlags__enable_view_transitions","Cloud__enable_cloudx_experiment_ids","BookNav__enable_tenant_cache_key","MiscFeatureFlags__enable_variable_operator","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_profile_collections","TpcFeatures__enable_mirror_tenant_redirects","Cloud__enable_legacy_calculator_redirect","Cloud__enable_cloud_dlp_service","MiscFeatureFlags__developers_footer_dark_image","MiscFeatureFlags__enable_firebase_utm","Profiles__enable_page_saving"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.googleapis.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.googleapis.com",2,4,null,"https://developerprofiles-pa.googleapis.com",[7,"androidsource","Android Open Source Project","source.android.com",null,"androidsource-dot-devsite-v2-prod.appspot.com",null,null,[null,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1]],null,null,null,[1,null,1],[1,1,null,null,1]],null,[29,null,null,null,null,null,"/images/lockup.svg","/images/touchicon-180.png",null,null,null,null,null,1,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1],null,[[null,null,null,[3,7],null,null,[1,[["docType","Choose a content type",[["Guide",null,null,null,null,null,null,null,null,"Guide"],["ReleaseNotes",null,null,null,null,null,null,null,null,"Release Notes"]]],["category","Choose a topic",[["Architecture",null,null,null,null,null,null,null,null,"Architecture"],["Automotive",null,null,null,null,null,null,null,null,"Automotive"],["AndroidBuilding",null,null,null,null,null,null,null,null,"Building"],["AndroidConnectivity",null,null,null,null,null,null,null,null,"Connectivity"],["Camera",null,null,null,null,null,null,null,null,"Camera"],["Compatibility",null,null,null,null,null,null,null,null,"Compatibility"],["Drivers",null,null,null,null,null,null,null,null,"Drivers"],["Graphics",null,null,null,null,null,null,null,null,"Graphics"],["Media",null,null,null,null,null,null,null,null,"Media"],["Security",null,null,null,null,null,null,null,null,"Security"],["Testing",null,null,null,null,null,null,null,null,"Testing"]]]]]],[1,1],null,1],[[null,null,null,null,null,null,null,[["G-2TQ26MFY2E"],null,null,[["G-2TQ26MFY2E",1]]],null,null,null,null,1]],null,4],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>