Guia passo a passo para mapear permissões de arquivos internos
Atualizado 2026-10-30
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 é:
- Conecte a TV ao PC e execute
adb shell. - Liste os processos relevantes:
ps -A | grep -E 'installer|setup|config'. - Para cada caminho interno de interesse (
/data/local/tmp,/data/data/com.example.app/, partições encriptadas se houver), verifique o estado:ls -lnão mostra bits de permissão em dispositivos remotos, então usecat /proc/<pid>/fd/...oucat /proc/<pid>/net/tcpcomo referência cruzada. - 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:
- Identifique o PID do processo de instalação:
adb shell ps -A | grep installer. - Para cada binário que será copia para o TV, rode
stat -c "%a %n" <file>sobre ele. - Anote qual diretório recebe a escrita:
stat -c "%a %n" /data/local/tmp/myapp.apk. - Compare com a lista de permissões que o CleanYourTV gera; diferenças significam que o pacote não foi feito para este perfil.
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
Como instalar o AVD no Android TV para testar APKs antes de flashear
Guia passo a passo para criar um AVD (Android Virtual Device) no emulador Android Studio e usar o AVD para rodar e testar APKs no Android TV antes de gravar o flash
Como remover dados de apps sideloadados no CleanYourTV sem perder
Guia prático para apagar dados de apps previamente sideloadados no CleanYourTV em Android TV, mantendo configurações como favoritos e perfis,