O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Referência do aplicativo de TV

Um aplicativo de TV que reproduz conteúdo de TV ao vivo é necessário para algumas classes de dispositivos Android TV, como TVs de painel e STBs de operador. Um aplicativo de referência de TV ( TV ao vivo ) é fornecido junto com a plataforma Android, que pode ser personalizado, estendido ou substituído. O código-fonte está disponível no Android Open Source Project.

Este artigo resume como criar e personalizar um aplicativo de TV do sistema baseado em TV ao vivo para seu dispositivo de televisão Android. (Você pode estender seu aplicativo de TV para implementar o fabricante do dispositivo ou recursos específicos do país, no entanto, isso não está no escopo do aplicativo de TV de referência.)

Dependências

O aplicativo TV é um componente do TV Input Framework (TIF) e não pode ser usado independentemente dos outros componentes. Isso significa que apenas dispositivos com TIF poderão executar o aplicativo Live TV .

O aplicativo de TV ao vivo depende de APIs do Android. Ramos diferentes têm dependências diferentes nos níveis de API:

Tabela 1. Filiais de TV ao vivo.

Ramo Nível de API de destino Nível mínimo de API
mestre 24 (Android 7.0) 23
android-live-tv 23 (Android 6.0) 21
android-live-tv-l-mr1 22 (Android 5.1) 21

Obtenha a fonte

Para começar, selecione qual versão de TV ao vivo você gostaria do Git. As instruções abaixo são para a versão atual da TV ao vivo, mas você pode facilmente selecionar uma versão anterior alterando o branch master para um diferente listado na tabela acima.

mkdir live-tv && cd live-tv
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8 -c

Construir

Para construir o código da TV ao vivo, execute:

. build/envsetup.sh
tapas LiveTv x86
make LiveTv

Empurrar

Para enviar TV ao vivo para o seu dispositivo de teste:

adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk

Se o desenvolvedor quiser que o aplicativo LIVE TV tenha permissões do sistema, na primeira vez que for instalado, ele precisa ser enviado para / system / priv-app com:

adb push $OUT/system/priv-app/LiveTv/LiveTv.apk  /system/priv-app/LiveTv/

Teste

Assim que a TV ao vivo estiver em seu dispositivo, você deve testar se ela está devidamente integrada. Além de executar o conjunto de testes de compatibilidade e os testes CTS Verifier para o aplicativo de TV, você pode usar estes testes abaixo:

Testes de unidade

Existem testes de unidade e funcionais para o aplicativo Live TV. Você deve ter um dispositivo (ou emulador) conectado para executar os testes.

adb shell logcat -c
m LiveTv TVTestInput TVUnitTests -j20 &&\
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\
adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk && \
adb install -r -d $OUT/data/app/TVUnitTests/TVUnitTests.apk && \
adb shell pm clear com.android.providers.tv && \
adb shell pm clear com.google.android.tv && \
adb shell am instrument \
  -e testSetupMode unit \
  -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\
adb shell input keyevent KEYCODE_HOME &&\
adb shell am instrument \
  -w 'com.android.tv.tests/android.support.test.runner.AndroidJUnitRunner'

Testes Funcionais

adb shell logcat -c
m LiveTv TVTestInput TVFuncTests -j20 &&\
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\
adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk && \
adb install -r -d $OUT/data/app/TVFuncTests/TVFuncTests.apk && \
adb shell pm clear com.android.providers.tv && \
adb shell pm clear com.google.android.tv && \
adb shell am instrument \
  -e testSetupMode func \
  -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\
adb shell input keyevent KEYCODE_HOME &&\
adb shell am instrument \
  -w 'com.android.tv.tests.ui/android.support.test.runner.AndroidJUnitRunner'

Jank Tests

Os testes Jank procuram quadros perdidos e atrasos na renderização.

adb shell logcat -c
m LiveTv TVTestInput TVJankTests -j20 &&\
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\
adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk &&\
adb install -r -d $OUT/data/app/TVJankTests/TVJankTests.apk &&\
adb shell pm clear com.android.providers.tv &&\
adb shell pm clear com.google.android.tv &&\
echo "Creating a lot of channels and EPG data, this may take a while" &&\
adb shell am instrument \
  -e testSetupMode jank \
  -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\
adb shell input keyevent KEYCODE_HOME &&\
adb shell am instrument \
  -w 'com.android.tv.tests.jank/android.support.test.runner.AndroidJUnitRunner'