Verificador de declaração de permissões do Play Console

Cole seu AndroidManifest.xml ou a saída do aapt2 dump permissions do seu APK gerado. Todas as permissões são listadas, e as que podem precisar de declaração no Google Play Console vêm primeiro, com o que o Google espera e o que fazer. Roda no seu navegador: nada é enviado. As páginas de cada permissão estão em inglês.

Roda no seu navegador. Nada do que você cola é enviado ou armazenado.

Por que conferir o manifesto mesclado, e não só o seu?

Cada biblioteca que você adiciona traz o próprio manifesto, e o build os mescla com o seu. É assim que um app acaba pedindo uma permissão que ninguém da equipe digitou: um SDK de anúncios pode adicionar o ID de publicidade, uma biblioteca de atualização ou de abrir arquivos REQUEST_INSTALL_PACKAGES, uma de notificações ou agendamento, alarmes exatos. O Google analisa o resultado mesclado.

Para ver a lista que seus usuários vão realmente receber:

  • Android Studio: abra o AndroidManifest.xml e clique na aba Merged Manifest na parte de baixo do editor. Ela também mostra de qual biblioteca veio cada linha.
  • O APK gerado: rode o comando abaixo e cole a saída aqui.
aapt2 dump permissions app-release.apk

Como removo uma permissão que uma biblioteca adicionou?

Declare a mesma permissão no seu próprio manifesto com tools:node="remove". A mesclagem então descarta a permissão, seja qual for a biblioteca que pediu. Funciona igual em projetos nativos, Flutter e React Native (nos dois últimos, o arquivo é android/app/src/main/AndroidManifest.xml).

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
        tools:node="remove" />
</manifest>

Num projeto Expo, liste a permissão em android.blockedPermissions na configuração do app, que faz o mesmo no prebuild:

{
  "expo": {
    "android": {
      "blockedPermissions": ["android.permission.QUERY_ALL_PACKAGES"]
    }
  }
}

Depois teste o que essa biblioteca faz. Se ela precisava da permissão, o recurso pode parar de funcionar, e você terá de escolher entre o recurso e a declaração.

O que este verificador não consegue dizer?

Se o seu uso de uma permissão se qualifica. O Google restringe a maioria a tipos específicos de app, e só a análise dele decide se o seu é um deles. O verificador também só lê o que você cola, então não vê o que os SDKs do seu app coletam, qual nível de API o build usa nem se ficaram chaves dentro dele.

Perguntas comuns

Quais permissões do Android precisam de declaração no Play Console?
As sensíveis que o Google restringe a certos tipos de app: localização em segundo plano, acesso a todos os arquivos, SMS e registro de chamadas, QUERY_ALL_PACKAGES, REQUEST_INSTALL_PACKAGES, alarmes exatos, intents de tela cheia, acesso a fotos e vídeos, tipos de serviço em primeiro plano e o ID de publicidade, entre outras. Se a sua é permitida depende do que o app faz, e só a análise do Google decide isso.
Por que meu app tem uma permissão que eu nunca adicionei?
As bibliotecas trazem os próprios manifestos, e o build os mescla com o seu. Confira o manifesto mesclado no Android Studio, ou rode aapt2 dump permissions no APK gerado, para ver a lista completa.
Como removo uma permissão que uma biblioteca adicionou?
Declare-a no seu próprio manifesto com tools:node="remove", ou no Expo liste-a em android.blockedPermissions. Depois teste o recurso que essa biblioteca oferece, porque ele pode ter precisado da permissão.
Meu manifesto é enviado para algum lugar?
Não. O verificador roda no seu navegador e o texto que você cola nunca é enviado para um servidor.

Fontes

Podemos usar análise e medição de anúncios? A análise (Vercel, e Ahrefs nas nossas páginas públicas) conta visualizações de página sem cookies. A medição de anúncios permite que a tag do Google nas nossas páginas públicas veja quais visitas vieram dos nossos anúncios do Google, usando um cookie do Google. O site funciona da mesma forma em qualquer caso. Política de cookies · Como o Google usa os dados ·