PixelSpot / Instalação / Android
Instalação · Android

TV box ou Google TV dedicada ao PixelSpot

Roda em qualquer aparelho com Android 7.1 (API 25) ou superior — TV box, Smart TV com Android TV ou Google TV. O caminho rápido é o script da próxima seção, que instala e configura tudo. O resto da página é para quem quer entender cada passo ou ajustar à mão.

15 a 25 minutos
Nível intermediário
Computador com ADB nos passos 2, 4, 5 e 6
Caminho rápido

Um comando faz tudo

O script baixa o ADB se você não tiver, instala a última versão do player, ativa o Device Owner e ajusta a caixa para não desligar a tela. Funciona no Linux, macOS e Windows (no Windows, pelo Git Bash).

curl -fsSL https://www.cube.tv.br/setup.sh -o setup.sh bash setup.sh

Ele pergunta se a caixa está por USB ou pela rede. Se já souber o IP, passe direto: bash setup.sh 192.168.0.42

O Device Owner só entra num aparelho sem conta

É uma regra do próprio Android, não do PixelSpot. Numa caixa já em uso, faça o reset de fábrica e pule o login antes de rodar o script. Sem isso ele instala o player normalmente, mas o passo do Device Owner falha — e é ele que permite atualizar, reiniciar e esconder apps pelo painel, sem ninguém ir até a loja.

Antes de começar

Tenha isso em mãos para não travar no meio do processo.

Passos 1 e 3
O controle remoto da TV box e o app do PixelSpot já instalado e aberto ao menos uma vez.
Passos 2, 4, 5 e 6 (opcionais)
Um computador na mesma rede com o ADB (Android SDK Platform Tools), e a Depuração USB ou de rede ativada na caixa.
Bom saber
Tudo aqui é reversível. Nada exige root nem apaga a garantia do aparelho.
1
Hardware

Processadores e GPUs recomendados

O conteúdo é desenhado em tempo real num canvas (WebGL/Pixi.js), com vídeos, transições e imagens em Full HD. Isso pesa mais na GPU do que um app comum de Android — é o ponto onde caixinhas muito antigas ou muito baratas costumam engasgar, mesmo com Android “atualizado” nas configurações.

Componente Recomendado Mínimo aceitável Evitar
Processador (CPU) Quad-core ARM de 64 bits (Cortex-A53/A55 ou superior), 1.5 GHz+ — comum em Amlogic S905X2/S905X3/S905X4, Rockchip RK3318/RK3566 e similares Quad-core Cortex-A7 de 32 bits, 1.2 GHz+ (ex.: Rockchip RK3229/RK3228) Dual-core, ou qualquer processador que o anúncio não identifica pelo nome
GPU Mali-G31/G52, PowerVR GE8300 ou equivalente — renderiza vídeo e transições sem travar Mali-400 MP2 — funciona, mas vídeo pode engasgar em conteúdo pesado GPU não informada pelo fabricante (“gráficos integrados”, sem modelo)
Memória RAM 2 GB (4 GB se a grade tiver muitos vídeos simultâneos) 1 GB Menos de 1 GB
Armazenamento livre 1 GB ou mais livre, para cache de vídeos e imagens 500 MB —

O que já testamos em campo

Caixinhas com Rockchip RK3229/RK3228 (comuns em TV boxes genéricas de baixo custo) rodam o PixelSpot — são o hardware mais fraco que já colocamos em campo e servem de piso. Pra uma compra nova, prefira um processador de 64 bits mais recente da tabela acima: a diferença aparece em grades com muitos vídeos e transições.

Google TV também serve. Confirmamos em campo numa Philips: o Device Owner entra normalmente, e com ele vêm a atualização remota e a troca de tela inicial. Vale quando a loja já tem uma Smart TV com Google TV e não se quer comprar caixa nenhuma. O reset de fábrica e o pulo do login continuam valendo — a regra é do Android.

2
Configuração Recomendado

Modo Device Owner

Uma API nativa do Android (desde a versão 7, sem precisar de root) que dá ao PixelSpot controle direto sobre o aparelho: o app se define sozinho como tela inicial (substitui o passo 3 manual), atualiza sozinho sem diálogo de confirmação na tela, e remove bloatware do fabricante remotamente pelo painel (substitui o ADB manual do passo 6). Como resolve praticamente tudo de uma vez, é o caminho recomendado — os passos seguintes viram alternativa pra quem não puder fazer este aqui. Só funciona na instalação inicial, antes de qualquer conta ser configurada na caixa — veja o aviso abaixo.

1

Reset de fábrica, sem entrar em nenhuma conta

Configurações → Sistema → Restaurar (ou o botão físico de reset, conforme o manual do fabricante). No primeiro boot depois do reset, não faça login em conta Google nem termine o assistente de configuração do fabricante se ele pedir uma — ative a Depuração USB antes disso, ou conecte via adb connect <ip> assim que o Wi-Fi estiver configurado, mas ainda antes de qualquer conta.

2

Instale o APK e vire Device Owner

Com a caixa ainda sem conta nenhuma:

Instalar e habilitar
adb install app-release.apk adb shell dpm set-device-owner br.com.pixelspot/.PixelSpotDeviceAdminReceiver

Sucesso mostra "Success: Device owner set to package br.com.pixelspot". Se reclamar de conta ou usuário existente, a janela já fechou — reset de fábrica de novo e repita sem adicionar conta nenhuma dessa vez.

3

Confirme

Deve mostrar br.com.pixelspot/.PixelSpotDeviceAdminReceiver como device owner:

Verificar
adb shell dumpsys device_policy

Continue a configuração normal da caixa (Wi-Fi, etc.) depois disso — o launcher já fica definido sozinho, e a remoção de bloatware pode ser feita depois, remotamente, pelo painel do PixelSpot. O selo "Device Owner" aparece na listagem de terminais assim que a telemetria estiver ligada pra esse terminal.

Não dá pra converter uma caixa já em uso

dpm set-device-owner só funciona numa caixa sem nenhuma conta configurada — é uma regra do próprio Android, não do PixelSpot. Se a caixa já está rodando normalmente com contas configuradas, a única forma de habilitar isso é resetar de fábrica e refazer a configuração do zero. Por isso vale decidir isso antes de configurar a caixa, não depois — de preferência antes até do passo 3.

3
Configuração

Definir o PixelSpot como tela inicial (launcher)

Com o PixelSpot como launcher padrão, a caixa volta direto pro conteúdo sempre que alguém aperta o botão Home do controle, ou depois de qualquer coisa que tire o foco do app (um pop-up do sistema, por exemplo) — sem precisar abrir o app manualmente de novo. Se você já fez o passo 2 (Device Owner), pule este passo — já fica definido sozinho.

1

Abra o PixelSpot pelo menos uma vez

Isso registra o app na lista de “telas iniciais” disponíveis do Android.

2

Vá em Configurações → Apps

Procure por “Apps padrão” (ou “Configurações padrão”, “Home app” — o nome muda conforme o fabricante da caixa) e depois por “Tela inicial” / “App inicial” / “Launcher”.

3

Selecione “PixelSpot” na lista

A partir daí, o botão Home do controle sempre volta pro player.

!

Se o menu não aparecer

Algumas TV boxes certificadas para Google TV/Android TV travam o launcher oficial e não permitem trocar. Nesse caso, o Google Play Services geralmente também está mais restrito — vale considerar uma caixa mais simples (Android “aberto”, sem certificação Google TV) pra um terminal dedicado.

É reversível a qualquer momento: basta repetir o passo e escolher o launcher original do fabricante.

4
Configuração Opcional · avançado

Desativar o launcher antigo

Mesmo com o PixelSpot escolhido como tela inicial, algumas caixas voltam pro launcher do fabricante sozinhas — depois de uma atualização do sistema, de um reinício ou de um pop-up que rouba o foco. Desativar o launcher antigo tira ele da disputa pelo botão Home de vez. É o passo que resolve quando o passo 3 não segura sozinho. Só necessário se você não fez o passo 2 — com Device Owner, o Android nem oferece escolha de launcher pro usuário, e launchers conhecidos do fabricante (como o mboxlauncher da Amlogic) já saem da lista de apps sozinhos.

1

Veja quem responde pelo botão Home

Antes de desativar qualquer coisa, liste quem está registrado como tela inicial na caixa. Vão aparecer o PixelSpot, o launcher do fabricante e, em aparelhos com Android TV, o FallbackHome do sistema:

Listar as telas iniciais
adb shell cmd package query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
2

Desative o launcher do fabricante

O pacote abaixo é o launcher das caixas com chip Amlogic/Droidlogic, o mais comum por aqui. Troque pelo nome que apareceu na sua lista se for outro:

Desativar o launcher do fabricante
adb shell pm disable-user --user 0 com.droidlogic.mboxlauncher

Não desative o FallbackHome

Na lista do passo 1 costuma aparecer com.android.tv.settings.system.FallbackHome. Ele não é um launcher concorrente: é a tela que o Android usa enquanto o sistema ainda está subindo, antes do launcher de verdade assumir. Deixe como está — sem ele a caixa pode não completar o boot. Repare também que o FallbackHome vive dentro do pacote das Configurações (com.android.tv.settings), então desativar esse pacote levaria junto o menu de Configurações do aparelho.

Pra reverter

Reativar o launcher do fabricante
adb shell pm enable com.droidlogic.mboxlauncher
5
Configuração Opcional · avançado

Desativar o Google Play Services

Um terminal de sinalização não usa conta Google, notificações ou apps de terceiros — mas o Google Play Services e a Play Store continuam rodando em segundo plano por padrão, verificando atualizações e sincronizando dados. Em caixas mais fracas, isso disputa CPU e rede com o próprio PixelSpot. Desativar é opcional, mas recomendado depois que o terminal já estiver funcionando. Diferente dos outros passos opcionais, isso não fica automático mesmo com o passo 2 — desativar os serviços do Google mexe em coisas que variam por aparelho, então a decisão fica sempre manual (aqui via ADB, ou remotamente adicionando com.google.android.gms na lista de bloatware do painel).

Antes de desativar: confirme que o PixelSpot já está funcionando normalmente na caixa (conectado, exibindo a grade) e que ela já está com a data/hora e a rede Wi-Fi configuradas — algumas caixas usam o Play Services pra isso na primeira configuração.

1

Tente pelo menu de Configurações primeiro

Configurações → Apps → Ver todos os apps → “Serviços do Google Play” → Desativar (se o botão estiver disponível).

2

Se o botão estiver esmaecido (mais comum em TV box)

Muitos fabricantes protegem esse app contra desativação pelo menu. O caminho que funciona nesse caso é via ADB, a partir de um computador na mesma rede (ou por cabo USB), com a “Depuração USB”/“Depuração de rede” ativada em Opções do desenvolvedor:

Desativar o Play Services
adb shell pm disable-user --user 0 com.google.android.gms

Se quiser desativar a Play Store também (não é necessária pra rodar o PixelSpot):

Desativar a Play Store
adb shell pm disable-user --user 0 com.android.vending

O Katniss (busca por voz do Android TV) depende do Play Services e continua tentando rodar mesmo com ele desativado — sem efeito prático, mas some da lista de processos se desativar junto:

Desativar a busca por voz
adb shell pm disable-user --user 0 com.google.android.katniss

Pra reverter

Reativar o Play Services
adb shell pm enable com.google.android.gms
6
Configuração Opcional · avançado

Remover bloatware do fabricante

TV boxes genéricas costumam vir com vários serviços de fábrica rodando em segundo plano — DLNA, "media center" próprio, agente de atualização OTA, apps de teste da linha de produção. Cada um disputa CPU e RAM com o PixelSpot, e em caixas mais fracas isso é o suficiente pra derrubar o processo do app por pressão de memória. Os nomes de pacote variam por fabricante — o passo 1 abaixo mostra como descobrir os da sua caixa. Se você já fez o passo 2 (Device Owner), isso já acontece sozinho — os pacotes de bloatware conhecidos (incluindo launchers concorrentes de fabricante) são ocultados automaticamente assim que o painel detecta o terminal como Device Owner, sem precisar abrir ADB nem clicar em nada. Dá pra editar a lista a qualquer momento pelo ícone de caixa na listagem de terminais.

1

Veja o que está rodando

Lista todos os processos ativos, agrupados por importância (primeiro plano, serviço, cache) — é mais útil que só listar apps instalados, porque mostra o que de fato está competindo por memória agora:

Ver processos ativos
adb shell dumpsys activity processes
2

Agente de atualização OTA

Os pacotes abaixo (ADUPS, terceiro comum em TV boxes genéricas, e RKUpdateService, o agente OTA próprio de caixas com chip Rockchip) ficam ativos em segundo plano sem necessidade real num terminal dedicado — sua caixa pode ter um, outro, ou nenhum dos dois. Desativar tira esse peso, mas a caixa deixa de receber atualização de firmware do fabricante por esse canal — normalmente não faz diferença pra um terminal de sinalização.

Desativar o agente OTA
adb shell pm disable-user --user 0 com.adups.fota.sysoper adb shell pm disable-user --user 0 android.rockchip.update.service
3

Exemplos vistos em campo (Rockchip)

Numa caixa com chip Rockchip, esses pacotes apareceram brigando por memória com o PixelSpot — inclusive um serviço de DLNA/media center tentando (e falhando) abrir os vídeos que o próprio PixelSpot baixa pra cache, e um app genérico do fabricante (nome de pacote "com.example...", sinal de firmware branco/não polido) só pra controlar o LED de status da caixa, rodando como processo persistente. Não existem em toda TV box; use como referência, e confirme com a lista do passo 1 antes de desativar algo na sua.

Desativar bloat Rockchip (exemplo)
adb shell pm disable-user --user 0 com.rockchips.mediacenter adb shell pm disable-user --user 0 com.rockchips.dlna adb shell pm disable-user --user 0 com.rockchip.devicetest adb shell pm disable-user --user 0 com.cghs.stresstest adb shell pm disable-user --user 0 com.example.changeled

Não desative às cegas

Alguns pacotes de sistema têm papéis que não são óbvios pelo nome, e desativar o errado pode deixar a caixa sem rede, sem áudio ou sem conseguir reiniciar sozinha. Desative um de cada vez e confirme que o PixelSpot continua funcionando antes do próximo. Tudo aqui é reversível com pm enable, mas descobrir qual dos dez pacotes quebrou a caixa custa mais que fazer com calma.

Reversível a qualquer momento com adb shell pm enable <pacote>, o mesmo comando usado pra reverter os passos 4 e 5.

Se algo der errado

A tela abre em branco ou preto

Isso era sintoma do player antigo, que desenhava dentro do navegador interno do Android (o WebView) e parava numa caixa com WebView velho. O player atual não usa WebView — desenha direto, como um jogo. Se a tela ficar em branco hoje, o motivo é outro: confira se a caixa tem rede e se o terminal aparece online no painel.

O vídeo engasga nas transições

Normalmente é GPU. Reduza a quantidade de vídeos simultâneos na grade ou troque por um aparelho da coluna Recomendado da tabela do passo 1.

A caixa não volta pro app sozinha

Falta definir o PixelSpot como launcher — passo 2 (automático) ou passo 3 (manual). Se já estiver definido e mesmo assim a caixa voltar pro menu do fabricante, o launcher antigo está tomando o Home de volta: passo 4. Em Smart TVs com Android embutido isso nem sempre é permitido.

Terminal configurado. Agora monte a grade.

Crie sua conta, adicione o ponto de exibição e publique o primeiro conteúdo em minutos.

Criar conta grátis 14 dias grátis, sem cartão de crédito