CINXE.COM

Potentially Harmful Applications (PHAs)  |  Play Protect  |  Google for Developers

<!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="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#aed581"><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/developers/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=Google+Sans:400,500|Roboto: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/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/android/play-protect/potentially-harmful-applications"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/android/play-protect/potentially-harmful-applications" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/android/play-protect/potentially-harmful-applications" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/android/play-protect/potentially-harmful-applications?hl=vi" /><title>Potentially Harmful Applications (PHAs) &nbsp;|&nbsp; Play Protect &nbsp;|&nbsp; Google for Developers</title> <meta property="og:title" content="Potentially Harmful Applications (PHAs) &nbsp;|&nbsp; Play Protect &nbsp;|&nbsp; Google for Developers"><meta property="og:url" content="https://developers.google.com/android/play-protect/potentially-harmful-applications"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/opengraph/light-green.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Potentially Harmful Applications (PHAs)" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Play Protect", "item": "https://developers.google.com/android/play-protect" },{ "@type": "ListItem", "position": 2, "name": "Potentially Harmful Applications (PHAs)", "item": "https://developers.google.com/android/play-protect/potentially-harmful-applications" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="light-green" type="article" layout="docs" concierge='closed' 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"> <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"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/android/play-protect" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Play Protect" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Play Protect </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Play Protect" tenant-name="Google for Developers" project-scope="/android/play-protect" url-scoped="https://developers.google.com/s/results/android/play-protect" > <form class="devsite-search-form" action="https://developers.google.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_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 fp-auth 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-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://developers.google.com/android/play-protect" track-metadata-eventdetail="https://developers.google.com/android/play-protect" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - home" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" > Home </a> </tab> <tab > <a href="https://developers.google.com/android/play-protect/client-protections" track-metadata-eventdetail="https://developers.google.com/android/play-protect/client-protections" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - google play protect" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Google Play Protect" track-name="google play protect" > Google Play Protect </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/android/play-protect/potentially-harmful-applications" track-metadata-eventdetail="https://developers.google.com/android/play-protect/potentially-harmful-applications" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - potentially harmful applications" track-metadata-module="primary nav" aria-label="Potentially Harmful Applications, selected" data-category="Site-Wide Custom Events" data-label="Tab: Potentially Harmful Applications" track-name="potentially harmful applications" > Potentially Harmful Applications </a> </tab> <tab > <a href="https://appdefensealliance.dev" track-metadata-eventdetail="https://appdefensealliance.dev" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - app defense alliance" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: App Defense Alliance" track-name="app defense alliance" > App Defense Alliance </a> </tab> <tab > <a href="https://developers.google.com/android/play-protect/starting-a-vdp" track-metadata-eventdetail="https://developers.google.com/android/play-protect/starting-a-vdp" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - starting a vulnerability disclosure program" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Starting a Vulnerability Disclosure Program" track-name="starting a vulnerability disclosure program" > Starting a Vulnerability Disclosure Program </a> </tab> <tab > <a href="https://developers.google.com/android/security/android-ready-se" track-metadata-eventdetail="https://developers.google.com/android/security/android-ready-se" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - android ready se" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Android Ready SE" track-name="android ready se" > Android Ready SE </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"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/android/play-protect" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Play Protect" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Play Protect </a> </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="/android/play-protect" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Home" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Home </span> </a> </li> <li class="devsite-nav-item"> <a href="/android/play-protect/client-protections" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Google Play Protect" track-name="google play protect" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Play Protect" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Play Protect </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/android/play-protect/potentially-harmful-applications" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Potentially Harmful Applications" track-name="potentially harmful applications" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Potentially Harmful Applications" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Potentially Harmful Applications </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="https://appdefensealliance.dev" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: App Defense Alliance" track-name="app defense alliance" data-category="Site-Wide Custom Events" data-label="Responsive Tab: App Defense Alliance" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > App Defense Alliance </span> </a> </li> <li class="devsite-nav-item"> <a href="/android/play-protect/starting-a-vdp" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Starting a Vulnerability Disclosure Program" track-name="starting a vulnerability disclosure program" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Starting a Vulnerability Disclosure Program" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Starting a Vulnerability Disclosure Program </span> </a> </li> <li class="devsite-nav-item"> <a href="/android/security/android-ready-se" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Android Ready SE" track-name="android ready se" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android Ready SE" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Android Ready SE </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="/android/play-protect/potentially-harmful-applications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /android/play-protect/potentially-harmful-applications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/android/play-protect/potentially-harmful-applications" ><span class="devsite-nav-text" tooltip>Potentially Harmful Applications</span></a></li> <li class="devsite-nav-item"><a href="/android/play-protect/phacategories" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /android/play-protect/phacategories" track-type="bookNav" track-name="click" track-metadata-eventdetail="/android/play-protect/phacategories" ><span class="devsite-nav-text" tooltip>Malware</span></a></li> <li class="devsite-nav-item"><a href="/android/play-protect/mobile-unwanted-software" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /android/play-protect/mobile-unwanted-software" track-type="bookNav" track-name="click" track-metadata-eventdetail="/android/play-protect/mobile-unwanted-software" ><span class="devsite-nav-text" tooltip>Mobile Unwanted Software (MUwS)</span></a></li> <li class="devsite-nav-item"><a href="/android/play-protect/warning-strings" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /android/play-protect/warning-strings" track-type="bookNav" track-name="click" track-metadata-eventdetail="/android/play-protect/warning-strings" ><span class="devsite-nav-text" tooltip>Warning Strings</span></a></li> <li class="devsite-nav-item"><a href="/android/play-protect/warning-dev-guidance" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /android/play-protect/warning-dev-guidance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/android/play-protect/warning-dev-guidance" ><span class="devsite-nav-text" tooltip>Developer Guidance for Warnings</span></a></li> <li class="devsite-nav-item"><a href="/android/play-protect/pha-reporting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /android/play-protect/pha-reporting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/android/play-protect/pha-reporting" ><span class="devsite-nav-text" tooltip>Report a PHA</span></a></li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /android/play-protect/custom/gppStyle.css */ @font-face { font-family: Euclid; src: url(/android/play-protect/custom/euclid.woff); } @font-face { font-family: andBlack; src: url(/android/play-protect/custom/and_black.woff); } @keyframes play-float { 0% { transform: translatey(-10px); } 50% { transform: translatey(-30px); } 100% { transform: translatey(-10px); } } .heroTop { /* App Defense Alliance Index */ margin-top: 50px; font-family: andBlack; font-size: 18px; margin-right: 40px; margin-left: 40px; } img { margin-left: auto; margin-right: auto; display: block; } .grid-container { display: grid; grid-template-columns: auto auto; padding: 10px; grid-gap: 10px; } .grid-item { padding: 10px; background-color: #F1F3F4; text-align: center; } .phatitle { background-color: #D2E3FC; border-radius: 10px; padding: 5px 5px 10px 10px; margin-top: 30px; margin-bottom: 30px; filter: drop-shadow(5px 5px 5px #9AA0A6); } .box { width: 900px; padding-top: 5px; border-width: 1px; padding-left: 3px; padding-bottom: 10px; margin: auto; word-wrap: break-word; } .gpp-partner-description { /* App Defense Alliance Index */ padding: 0px 10px 0px 0px; font-size: 18px; } .gpp-billboard { /* App Defense Alliance Index */ font-family: Euclid; font-size: 350%; z-index: 1; } .se-billboard { /* App Defense Alliance Index */ font-size: 350%; z-index: 1; } .readyse-billboard { /* App Defense Alliance Index */ font-family: andBlack; font-size: 350%; z-index: 1; } .gpp-partners-header { /* App Defense Alliance Index */ font-family: Euclid; font-size: 150%; } /* ********* Animations ******** */ .container { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .adaContainer { /* App Defense Alliance Index */ width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; margin-top: 50px; } .play-play { -webkit-filter: drop-shadow(5px 5px 5px #9AA0A6); filter: drop-shadow(5px 5px 5px #9AA0A6); overflow: hidden; transform: translatey(0px); animation: play-float 6s ease-in-out infinite; } .gppparallax { /* The image used */ background-image: url('/android/play-protect/images/hero-poster.jpg'); border-radius: 5px; /* Set a specific height */ min-height: 20px; margin: 0 0 15px 0; /* Create the parallax scrolling effect */ background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; } /* ******* Linear Roll or Spin ******* */ @-webkit-keyframes shift_linearRoll { 0% { -ms-transform: scale(1, 1) rotate(0deg) translate(0px, 0px); -webkit-transform: scale(1, 1) rotate(0deg) translate(0px, 0px); transform: scale(1, 1) rotate(0deg) translate(0px, 0px); } 100% { -ms-transform: scale(1, 1) rotate(360deg) translate(0px, 0px); -webkit-transform: scale(1, 1) rotate(360deg) translate(0px, 0px); transform: scale(1, 1) rotate(360deg) translate(0px, 0px); } } @keyframes shift_linearRoll { 0% { -ms-transform: scale(1, 1) rotate(0deg) translate(0px, 0px); -webkit-transform: scale(1, 1) rotate(0deg) translate(0px, 0px); transform: scale(1, 1) rotate(0deg) translate(0px, 0px); } 100% { -ms-transform: scale(1, 1) rotate(360deg) translate(0px, 0px); -webkit-transform: scale(1, 1) rotate(360deg) translate(0px, 0px); transform: scale(1, 1) rotate(360deg) translate(0px, 0px); } } .gppRoll { -webkit-animation-delay: 0s; -webkit-animation-duration: 2s; -webkit-animation-name: shift_linearRoll; -webkit-animation-fill-mode: forwards; animation-delay: 0s; animation-duration: 2s; animation-name: shift_linearRoll; animation-fill-mode: forwards; animation: shift_linearRoll 6s infinite; position: relative; } .seroll { -webkit-animation-delay: 2s; -webkit-animation-duration: 3s; -webkit-animation-name: shift_linearRoll; -webkit-animation-fill-mode: forwards; animation-delay: 2s; animation-duration: 3s; animation-name: shift_linearRoll; animation-fill-mode: forwards; animation: shift_linearRoll 5s infinite; position: relative; } /* ******** On-load fade into view from 0% to 100% ******** */ @-webkit-keyframes shift_enterZoom { 0% { -ms-transform: scale(0, 0); -webkit-transform: scale(0, 0); transform: scale(0, 0); opacity: 0; } 100% { -ms-transform: scale(1, 1); -webkit-transform: scale(1, 1); transform: scale(1, 1); opacity: 1; } } .gppEnterZoom { -webkit-animation-delay: 0s; -webkit-animation-duration: 2s; -webkit-animation-name: shift_enterZoom; -webkit-animation-fill-mode: forwards; animation-delay: 0s; animation-duration: 2s; animation-name: shift_enterZoom; animation-fill-mode: forwards; position: absolute; } .euclidFont { font-family: "Euclid" !important; } .vuln-grey { background-color: #212121 !important; color: #fff !important; box-shadow: 10px 10px 5px rgba(48, 188, 255, 0.2) !important; } [background=blue-grey-dark] { background-color: #212121 !important; } /* ******* Hacker Hints Custom Notice ******* */ aside, aside code, aside :link, aside :visited, .hacknote, .hacknote code, .hacknote :link, .hacknote :visited, .special, .special code, .special :link, .special :visited { background: #212121; color: #fff; } aside::before, .hacknote::before, .special::before { content: "code"; } /* **** cari **** */ *, *:before, *:after { box-sizing: border-box; } .testimonials-section { background: #fff; height: 400px; position: relative; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .slider__nav { width: 12px; height: 12px; margin: 900px 12px; border-radius: 50%; z-index: 10; outline: 6px solid #ccc; outline-offset: -6px; box-shadow: 0 0 0 0 #333, 0 0 0 0 rgba(51, 51, 51, 0); cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; -webkit-backface-visibility: hidden; backface-visibility: hidden; } .slider__nav:checked { -webkit-animation: check 0.4s linear forwards; animation: check 0.4s linear forwards; } .slider__nav:checked:nth-of-type(1) ~ .slider__inner { left: 0%; } .slider__nav:checked:nth-of-type(2) ~ .slider__inner { left: -100%; } .slider__nav:checked:nth-of-type(3) ~ .slider__inner { left: -200%; } .slider__nav:checked:nth-of-type(4) ~ .slider__inner { left: -300%; } .slider__nav:checked:nth-of-type(5) ~ .slider__inner { left: -400%; } .slider__inner { position: absolute; top: 18px; left: 0; width: 500%; height: auto; -webkit-transition: left 0.4s; transition: left 0.4s; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; } .slider__contents { height: 100%; text-align: center; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-flex-flow: column nowrap; -ms-flex-flow: column nowrap; flex-flow: column nowrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .slider__caption { font-size: 12px; color: #111; opacity: .5; font-family: 'Roboto'; font-weight: bold; } .slider__txt { font-size: 12px; font-weight: bold; font-family: 'Roboto'; line-height: 1.7; color: #f86734; max-width: 750px; } quote { font-weight: bold; font-size: 100px; color: #000; margin-bottom: 0; margin-top: 8px; } @-webkit-keyframes check { 50% { outline-color: #333; box-shadow: 0 0 0 12px #333, 0 0 0 36px rgba(51, 51, 51, 0.2); } 100% { outline-color: #333; box-shadow: 0 0 0 0 #333, 0 0 0 0 rgba(51, 51, 51, 0); } } @keyframes check { 50% { outline-color: #333; box-shadow: 0 0 0 12px #333, 0 0 0 36px rgba(51, 51, 51, 0.2); } 100% { outline-color: #333; box-shadow: 0 0 0 0 #333, 0 0 0 0 rgba(51, 51, 51, 0); } } </style> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.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="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" 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="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/android/play-protect" 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="Google Play Protect" > Play Protect </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/android/play-protect/potentially-harmful-applications" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Potentially Harmful Applications </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> Potentially Harmful Applications (PHAs) </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 "> <!-- Copyright 2017 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <p>Potentially Harmful Applications (PHAs) are apps that could put users, user data, or devices at risk. These apps are often generically referred to as <em>malware</em>. We've developed a range of categories for different types of PHAs, including trojans, phishing, and spyware apps, and we are continuously updating and adding new categories.</p> <h3 id="potentially-harmful" data-text="Potentially harmful?" tabindex="-1">Potentially harmful?</h3> <p>There is some confusion around the ambiguity of the word <em>potentially</em> when used to describe malicious apps. Google Play Protect removes apps that have been flagged as Potentially Harmful because the app does contain malicious behavior not because we are simply unsure if the app is harmful or not. The word potentially is used here because malicious apps function differently depending on a variety of variables thus an app that is harmful to one Android device might not pose a risk at all to another Android device. For example, a device running the latest version of Android is not affected by harmful apps which use deprecated APIs to perform malicious behavior but a device that is still running a very early version of Android might be at risk. Mobile billing fraud poses a risk to devices connected to service carriers but devices which only connect to WIFI are not affected by these apps.</p> <p>Apps are flagged as a PHA if they clearly pose a risk to some or all Android devices and users.</p> <h3 id="user-wanted" data-text="User-wanted PHAs" tabindex="-1">User-wanted PHAs</h3> <p>Some apps that can weaken or disable Android security features aren't categorized as PHAs. These apps provide functionality that users want, such as rooting the device and other development features. Even though these apps are potentially harmful, users install them intentionally, so Google Play Protect manages them differently than other PHAs. <br> When a user begins to installI an app that's classified as user-wanted, Google Play Protect warns the user of the app's potential hazards just once. The user can decide whether to continue with the installation. After installation, the user-wanted classifications prevents Google Play Protect from sending additional warnings, so there's no disruption to the user experience.</p> <h3 id="classifications" data-text="Classifications" tabindex="-1">Classifications</h3> <p>There are several categories for classifying PHAs that help Play Protect detect them and determine the right action to take. These categories include malicious apps like trojans, spyware, and phishing apps, as well as user-wanted apps. If Play Protect detects a PHA, it displays a warning. For certain malicious apps, Play Protect automatically disables or removes the app. When Play Protect detects that a PHA contains features from multiple categories, it classifies the app based on the most harmful characteristics. For example, if an app applies to both ransomware and spyware categories, the Verify Apps message identifies it as ransomware.</p> <p>You can view the current PHA categories and definitions <a href="/android/play-protect/phacategories">here.</a></p> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <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-10-31 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-10-31 UTC."],[[["Potentially Harmful Applications (PHAs), often called malware, pose risks to users, data, or devices."],["PHAs are categorized by type, such as trojans or spyware, with Google Play Protect continuously updating these categories."],["\"Potentially harmful\" signifies a confirmed risk to some or all Android devices, varying based on factors like Android version."],["User-wanted PHAs, like rooting apps, are acknowledged as potentially harmful but receive a single warning due to intentional installation."],["Google Play Protect classifies PHAs into various categories to trigger appropriate actions, prioritizing the most harmful characteristics in cases of overlap."]]],[]] </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> <li class="devsite-footer-linkbox-item"> <a href="//android.github.io" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" > GitHub </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="//android.com/play-protect" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google Play Protect </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//android.com/security-center/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Security Center </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="//transparencyreport.google.com/android-security/overview" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Transparency Report </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="//source.android.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Android Source </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 4)" > 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 5)" > 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 6)" > 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 7)" > 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-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <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="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </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 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> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </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_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> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </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>[{&#34;dimensions&#34;: {&#34;dimension3&#34;: false, &#34;dimension5&#34;: &#34;en&#34;, &#34;dimension4&#34;: &#34;Play Protect&#34;, &#34;dimension11&#34;: false, &#34;dimension6&#34;: &#34;en&#34;, &#34;dimension1&#34;: &#34;Signed out&#34;}, &#34;gaid&#34;: &#34;UA-24532603-1&#34;, &#34;metrics&#34;: {&#34;ratings_value&#34;: &#34;metric1&#34;, &#34;ratings_count&#34;: &#34;metric2&#34;}, &#34;purpose&#34;: 1}]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;ga4p&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;gtm&#34;: [], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;Play Protect&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;developers&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="mAcab5dFD2ZVnlZjb/0MIP8yww+SGi"> (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/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto: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,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","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Profiles__enable_release_notes_notifications","Profiles__require_profile_eligibility_for_signin","DevPro__enable_developer_subscriptions","Cloud__enable_llm_concierge_chat","MiscFeatureFlags__enable_firebase_utm","Profiles__enable_page_saving","Profiles__enable_recognition_badges","MiscFeatureFlags__developers_footer_image","Search__enable_ai_search_summaries","Profiles__enable_completecodelab_endpoint","Profiles__enable_developer_profiles_callout","Profiles__enable_public_developer_profiles","Concierge__enable_pushui","Search__enable_suggestions_from_borg","Profiles__enable_awarding_url","Analytics__enable_clearcut_logging","Cloud__enable_cloudx_experiment_ids","Concierge__enable_concierge_restricted","Profiles__enable_profile_collections","Profiles__enable_dashboard_curated_recommendations","DevPro__enable_cloud_innovators_plus","MiscFeatureFlags__enable_project_variables","CloudShell__cloud_code_overflow_menu","Experiments__reqs_query_experiments","Search__enable_page_map","MiscFeatureFlags__enable_variable_operator","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__enable_view_transitions","CloudShell__cloud_shell_button","Profiles__enable_complete_playlist_endpoint","Search__enable_ai_eligibility_checks","Significatio__enable_by_tenant","TpcFeatures__enable_required_headers","Cloud__enable_legacy_calculator_redirect","MiscFeatureFlags__developers_footer_dark_image","Cloud__enable_cloud_dlp_service","Search__enable_ai_search_summaries_restricted","Cloud__enable_cloud_shell_fte_user_flow","Cloud__enable_free_trial_server_call","Cloud__enable_cloud_shell","Cloud__enable_cloudx_ping","MiscFeatureFlags__enable_explain_this_code","BookNav__enable_tenant_cache_key","Concierge__enable_concierge","EngEduTelemetry__enable_engedu_telemetry","MiscFeatureFlags__emergency_css","Cloud__enable_cloud_facet_chat","Search__enable_dynamic_content_confidential_banner"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.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,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[14,11],[11,8],[15,12],[4,3],[5,4],[1,1],[13,10],[12,9],[16,13],[6,5],[3,2]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10