O Google está comprometido em promover a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Permissões do Android

As permissões do Android fornecem controles que aumentam a conscientização do usuário e limitam o acesso de um aplicativo a dados confidenciais. A configuração de permissões no Android 8.0 e inferior inclui a lista de permissões, sem a qual os aplicativos privilegiados são desativados, mesmo se estiverem no caminho do priv-app particular. No Android 9 e superior, um dispositivo que tenta usar aplicativos que não estão na lista de permissões corretamente não inicializa.

O aumento da proteção contra aplicativos potencialmente prejudiciais (PHAs) melhora

  • Transparência no comportamento potencialmente prejudicial do aplicativo.
  • Controle do usuário sobre o comportamento do aplicativo.
  • A critério dos desenvolvedores de aplicativos ao usar dados particulares, protegidos por permissões.

Instalação e permissão de pacotes

No Android 9 e versões inferiores, as funcionalidades de instalação e controle de permissão do pacote estavam contidas no pacote PackageInstaller ( //packages/apps/PackageInstaller ). No Android 10 e superior, a funcionalidade de controle de permissão reside em um pacote separado, PermissionController ( //packages/apps/PermissionController ). A Figura 1 ilustra onde os dois pacotes residem no Android 10.

Separação das funcionalidades de instalação de pacote e controle de permissão para aplicativos do sistema e conforme usado por aplicativos instalados pelo usuário
Figura 1. Instalação do pacote e funcionalidades de controle de permissão no Android 10

Listas de permissões e acesso

No Android 6.0 e superior, os aplicativos solicitam acesso a permissões perigosas em tempo de execução . O Android 10 adiciona permissões de tempo de execução de reconhecimento de atividade (AR), que solicitam ao usuário que modifique ou permita permissões perigosas.

O Android 8.0 exigia que você listasse explicitamente os aplicativos privilegiados nos arquivos XML de configuração do sistema no diretório /etc/permissions . No Android 9 e superior, as permissões privilegiadas devem estar na lista de permissões ou o dispositivo não pode inicializar.

Para limitar a visibilidade interna da API e impedir que os aplicativos acessem acidentalmente as bibliotecas da plataforma, o Android 7.0 introduziu Namespaces for Native Libraries . Isso separa as bibliotecas do sistema das bibliotecas de aplicativos e os fabricantes de dispositivos podem adicionar suas próprias bibliotecas nativas.

A partir do Android 10, os aplicativos devem ter permissões de assinatura e consentimento do usuário para acessar o conteúdo da tela de um dispositivo . Aplicativos privilegiados que dependem da funcionalidade de captura silenciosa, como tirar uma captura de tela, devem usar a classe MediaProjection .

Transparência e privacidade

No Android 6.0 e superior, um endereço MAC de fábrica do dispositivo é protegido contra acesso por provedores de serviços Wi-Fi e analisadores de pacotes. Restrições adicionais no Android 10 limitam os aplicativos a acessar os IDs (identificadores de dispositivo imutáveis), a menos que estejam na lista de permissões para permissões privilegiadas . (A seção Conectividade fornece uma discussão relacionada sobre identificadores de dispositivo , pois isso afeta as operadoras.)

No Android 9 e versões inferiores, os usuários fazem escolhas persistentes ao conceder acesso ao local aos aplicativos. A partir do Android 10, um recurso de permissões de localização tristate oferece aos usuários três opções para permitir o acesso de aplicativos à localização de um dispositivo. Esses requisitos de permissão são aplicados aos aplicativos no Android 10, independentemente do SDK de destino.

Configurar permissões para outros recursos de transparência e privacidade a partir do Android 10

Configurações simplificadas

As configurações de permissões foram otimizadas para Android 6.0 e superior.

  • Os recursos ambientais para serviços lançados pelo init mantêm todos os aspectos da configuração do serviço em um único arquivo .rc . Ao definir recursos para serviços não iniciados pelo init , configure os recursos do sistema de arquivos usando fs_config.c .
  • O Android 7.xe inferior estendem o mecanismo Android IDs (AIDs), usando um arquivo android_filesystem_config.h específico do android_filesystem_config.h para especificar os recursos do sistema de arquivos e / ou os AIDs personalizados do fabricante do dispositivo. O Android 8.0 e superior oferecem suporte a um novo método para estender os recursos do sistema de arquivos .
  • No Android 8.0, a manipulação de comandos USB saiu dos scripts init específicos do dispositivo (uma substituição para as camadas HAL) e entrou em um daemon USB nativo. A interface USB HAL deve ser implementada em todos os dispositivos iniciados no Android 8.0 e superior.