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 Panel TV y STB de operador. Se proporciona una aplicación de TV de referencia ( Live TV ) junto con la plataforma Android, que se puede personalizar, ampliar o reemplazar. El código fuente está disponible en el Proyecto de código abierto de Android.

Este artículo resume cómo crear y personalizar una aplicación de TV del sistema basada en Live TV para su dispositivo de televisión Android. (Puede ampliar su aplicación de TV para implementar características específicas del país o del fabricante del dispositivo; sin embargo, esto no está dentro del alcance de la aplicación de TV de referencia).

dependencias

La aplicación de TV es un componente de TV Input Framework (TIF) y no se puede utilizar independientemente de los demás componentes. Esto significa que solo los dispositivos con TIF podrán ejecutar la aplicación Live TV .

La aplicación Live TV depende de las API de Android. Diferentes ramas tienen diferentes dependencias en los niveles de API:

Tabla 1. Sucursales de TV en vivo.

Rama Nivel de API de destino Nivel mínimo de API
Maestro 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 la versión de Live TV que desea de Git. Las instrucciones a continuación son para la versión actual de Live TV, pero puede seleccionar fácilmente una versión anterior cambiando la rama de maestro a una diferente que se muestra 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

Para enviar Live TV a su dispositivo de prueba:

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

Si el desarrollador desea que la aplicación LIVE TV tenga permisos del sistema, la primera vez que se instala debe enviarse a /system/priv-app con:

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

Prueba

Una vez que Live TV esté en su dispositivo, debe probar que esté correctamente integrado. Además de ejecutar el conjunto de pruebas de compatibilidad y las pruebas del verificador CTS para la aplicación de TV, puede utilizar las siguientes pruebas:

Pruebas unitarias

Hay pruebas unitarias y funcionales para la aplicación Live TV. Debe tener un dispositivo (o emulador) conectado para ejecutar las pruebas.

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'

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

Pruebas Jank

Las pruebas de Jank 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.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'