Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

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. Se proporciona una aplicación de TV de referencia ( TV en vivo ) junto con la plataforma Android, que se puede personalizar, extender 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 usar independientemente de los otros 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. Las diferentes ramas tienen diferentes dependencias en los niveles de API:

Tabla 1. Ramas de TV en vivo.

Rama Nivel de API objetivo 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 qué versión de Live TV le gustaría 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 maestra 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 crear 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é integrado correctamente. Además de ejecutar el conjunto de pruebas de compatibilidad y las pruebas CTS Verifier para la aplicación de TV, puede utilizar estas pruebas a continuación:

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 de Jank

Las pruebas de Jank buscan fotogramas descartados 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'