Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Aplicación de TV de referencia

Se requiere una aplicación de TV que reproduzca contenido de TV en vivo para algunas clases de dispositivos Android TV, como televisores de panel y STB de operador. El código fuente de una aplicación de referencia está disponible en el Proyecto de código abierto de Android.

Esta página resume cómo crear y personalizar una aplicación de TV del sistema basada en Live TV para su dispositivo de televisión Android.

dependencias

La aplicación Live TV es un componente de TV Input Framework (TIF) y no se puede usar independientemente de los otros componentes de TIF. Diferentes ramas de la aplicación tienen diferentes dependencias en los niveles de la API de Android:

Rama Nivel de API de destino Nivel mínimo de API
master 24 (Android 7.0) 23
android-live-tv 23 (Android 6.0) 21
android-live-tv-l-mr1 22 (Android 5.1) 21

Obtener la fuente

Para comenzar, seleccione una versión de TV en vivo de Git. Las siguientes instrucciones son para la versión actual de Live TV. Para usar una versión anterior, cambie a una de las ramas de Git enumeradas en la tabla anterior.

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

Construir

Para compilar el código de Live TV, ejecute:

. build/envsetup.sh
tapas LiveTv x86
make LiveTv

Empujar

Use el siguiente código para enviar Live TV a su dispositivo de prueba:

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

Si pretende que la aplicación Live TV tenga permisos del sistema, use el siguiente código para enviarla a /system/priv-app la primera vez que la instale:

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

Prueba

Después de que Live TV esté instalado en su dispositivo, pruebe que esté correctamente integrado utilizando las siguientes pruebas además del conjunto de pruebas de compatibilidad y las pruebas del Verificador CTS para la aplicación de TV. Debe tener un dispositivo o emulador conectado para ejecutar todos los tipos de prueba.

Pruebas unitarias

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.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'

Pruebas funcionales

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.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'

Pruebas Jank

Las pruebas de bloqueo buscan fotogramas caídos y retrasos en el renderizado.

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.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'