Guia passo a passo para mapear permissões de arquivos internos

Atualizado 2026-10-30

Guia passo a passo para mapear permissões de arquivos internos do Android TV antes de instalar

Por que mapear permissões de arquivos antes de instalar no Android TV?

A instalação de aplicações de fontes não oficiais no Android TV pode trazer surpresas: apps que falham ao salvar configurações, mensagens de erro de acesso negado, ou até perda de dados de configuração. O sistema operativo do Android TV aplica restrições mais rigorosas do que o smartphones, e um arquivo interno mal mapeado pode impedir a instalação ou quebrar funcionalidades básicas. Mapear permissões manualmente, em texto e na tabela de acessos, permite validar cada operação antes do momento crítico da instalação, reduzindo o risco de bloquear o dispositivo com um erro que não tem solução simples depois.

Antes de tentar instalar qualquer pacote .ipa ou script personalizado, o procedimento correto é inspecionar a tabela de controles de acesso do Android TV: identificar quais processos detêm acesso a leitura e escrita sobre diretórios sensíveis e garantir que os binários e scripts que você vai carregar estão assinados ou procedentes. Esta fase é preventiva, mas essencial para manter a integridade do sistema de TV.

O que são permissões de arquivos internos no Android TV

No Android TV, os arquivos internos vivem em diretórios como /data/data/ para aplicativos do sistema, ou em partitions encriptadas que só são visíveis via ADB. As permissões são expressas como bits de acesso: READ, WRITE, READ_WRITE, EXEC, e NO_ACCESS. O adb shell do PC pode ler o fs.proof ou consultar cat /proc/*/status, mas a interface gráfica do Launchpad do CleanYourTV não expõe essa informação diretamente.

O CleanYourTV, estendido ao suporte de instalação por arquivos internos, dispõe de um assistente que gera um mapa legível de quem lê e escreve em cada caminho alvo. O mapa inclui, para cada arquivo, o PID do processo dono e a categoria da permissão. Esse mapa serve de checklist: se o seu pacote de instalação requer WRITE sobre /data/local/tmp e EXEC sobre o binário do instalador, você verifica que o PID correspondente possui esses bits antes do comando dd ou pm install ser executado.

O mapeamento também revela serviços do sistema (como o servidor de mídia ou o agente de configurações) que já têm READ ou WRITE sobre diretórios de cache. Se você tenta escrever sobre esses caminhos sem migrar primeiro para um diretório limpo, o TV pode recusar a operação com EACCES ou bloqueio silencioso, e você ficará sem forma de reverter.

Como gerar o mapa de permissões no Linux para o Android TV

Você precisará de um ambiente Linux com ADB instalado e de um dispositivo Android TV conectado por cabo USB com permissões de depuração ativadas. O passo a passo é:

  1. Conecte a TV ao PC e execute adb shell.
  2. Liste os processos relevantes: ps -A | grep -E 'installer|setup|config'.
  3. Para cada caminho interno de interesse (/data/local/tmp, /data/data/com.example.app/, partições encriptadas se houver), verifique o estado: ls -l não mostra bits de permissão em dispositivos remotos, então use cat /proc/<pid>/fd/... ou cat /proc/<pid>/net/tcp como referência cruzada.
  4. A ferramenta de mapeamento que o CleanYourTV fornece (acesso via --export-permissions) percorre a árvore de ficheiros do sistema e exibe um resumo por PID com os bits de leitura e escrita atribuídos.

O procedimento manual de leitura completa fica assim:

Essa inspeção evita o erro clássico de chmod: cannot access '/data/local/tmp/foo': No such file or directory quando o TV tenta escrever sem os bits corretos, e também ajuda a evitar que um binário malicioso adquira acesso a áreas sensíveis.

Por que usar o CleanYourTV para mapear antes de instalar

O CleanYourTV inclui um módulo de verificação de permissões que lê o content.provider e resume os bits de acesso de cada componente instalado. Em vez de depender de estimativas, você obtém um relatório por pacote: nome do pacote, PID original, permissões de entrada (READ), permissões de saída (WRITE), e se o binário exige execução em contexto de sistema (EXEC). O relatório lista os riscos quando um arquivo interno pede WRITE em um diretório de cache do sistema, apontando para o serviço de mídia como proprietário legítimo, e sugere mover a configuração para um local limpo.

O benefício prático é que, se o pacote que você trouxe não está devidamente assinado ou não passa no teste de permissões, o CleanYourTV recusa a instalação e informa o caminho exato onde a falha ocorreu. Isso economiza horas de tentativa e erro, e evita que você fique a tentar resolver um conflito de permissões dentro do sistema de TV depois que o aparelho já está travado por uma atualização.

Prazo e riscos: quando o mapeamento pode não resolver tudo

Mesmo com um mapa completo de permissões, alguns cenários escapam ao controle. Se o pacote que você installa requer chamadas C++ nativas que tocam em I/O de sistema de ficheiros em modo privileged, o TV pode bloquear mesmo com READ/WRITE corretos, porque o binário não foi compilado com o flag de compatibilidade adequado. Nesses casos, a solução é substituir o binário por uma versão corrigida ou usar um arquivo .apk que apenas faça a configuração inicial e, a seguir, delegue a tarefa a um script que escreve num diretório limpo.

Outro risco: o CleanYourTV mostra permissões em forma binária (0x200, 0x0200 etc.), mas a documentação do Android TV para desenvolvedores ainda é ambígua quanto a bit SYNC e a integração com o file system de partição encriptada. Quando o arquivo reside numa partição encriptada, o mapeamento via ADB não consegue ler o conteúdo interno; aí o que fazemos é pedir ao usuário que exportá-lo via adb backup ou confiar no próprio relatório da ferramenta.

Em resumo, o trabalho de mapeamento é o limite inferior para evitar que a instalação quebre o TV. Ele não substitui um teste em dispositivo de teste, nem garante que um binário não assinado será aceito, mas elimina a grande classe de erros por falta de bits de acesso ou por tentativas de gravação em diretórios protegidos. Com o CleanYourTV e o mapeamento prévio, a instalação de apps de fontes externas torna-se previsível, menos invasiva e muito mais segura no dia a dia da sua sala.

Leia também: mais sobre Android TV

Leia a seguir