Back to All
Project

Android TV


Skill LevelArea of FocusOperating System
IntermediateEmbedded,Smart HomeAndroid

This project attempts to build Android TV on the DragonBoard™ 410c from Arrow Electronics. The main objective was to utilize the Android TV Input Framework, and this was done by running the built-in reference LiveTv App and Sample Input Apps.

The Android TV Input Framework implementation includes the TV Input Manager, which allows the communication between the TV App and the Inputs. The TV Input Framework allows different kind of inputs including External STB, Built-in Tuner Input, HDMI Input etc.

To start, we used the Reference LiveTv App built for ARM64 as a TV App and the Sample Input apk for the TV Input. The Sample Input allows the user to configure the Channels in two different ways:

  1. Simple Input, which consists of local video files that act as different channels.
  2. Rich TV Input consists of 4 Channels served from Google Cloud Storage, which are comprised of MP4 Videos, HLS Stream, MPEG - DASH Stream.

We have also implemented the Custom Launcher to provide the look and feel of the TV Launcher and integrated the IR Sensor onto DragonBoard 410c for controlling TV Activities with Universal Remote.

Dependencies:
An Exo player is built and installed in order to play the videos.

Further Work in Progress:
Fine tuning the performance and built-in tuner implementation.

Objective

It is very interesting to know that we can watch Live TV on a small form factor device like DragonBoard 410c. Also, TV Input Framework is a Robust framework which provides many features with multiple Input methods.

Setup for Android TV with the DragonBoard™ 410c

Setup

Build / Assembly Instructions

Materials Required / Parts List / Tools

Source Code / Source Examples / Application Executable

Additional Resources

Build / Assembly

  • Download the latest Source Code for DragonBoard 410c
  • Add the below two lines in the device/qcom/msm8916_64.mk file
  • PRODUCT_CHARACTERISTICS := tv
    $(call inherit-product,
    device/google/atv/products/atv_base.mk)
  • Build your Android DragonBoard 410c source code on Linux Platform
  • Download and Build Live Tv app for arm64
  • tapas LiveTv arm64
    make LiveTv
    cp -r out/target/product/generic_arm64/system//priv-app/LiveTv/ /system/priv-app/
    rm -rf out/target
    cd –
  • Build the Sample Input Apk and its dependencies (Exo player) using the Gradle scripts:
  • mkdir -p apps/
    cd apps/
    export ANDROID_HOME=
    export JAVA_HOME= (/usr/lib/jvm)
    echo "count=0" >
    /home/buildslave/.android/repositories.cfg
    rm -rf ExoPlayer androidtv-sample-inputs
  • Building apps and dependencies
  • git clone https://github.com/googlesamples/androidtv-sample-inputs
    cd androidtv-sample-inputs/
    sed -i "s/23.0.3/25.0.2/g" app/build.gradle
    library/build.gradle ./gradlew assembleDebug cp
    app/build/outputs/apk/app-debug.apk
    ../out/target/product/msm8916_64/data/app/
    cd -
    git clone https://github.com/google/ExoPlayer
    cd ExoPlayer
    sed -i "s/23.0.3/25.0.2/g" build.gradle
    ./gradlew assembleDebug
    cp ./demo/buildout/outputs/apk/demo-withExtensions-debug.apk
    ../out/target/product/msm8916_64/data/app/
    cd -
    git clone https://github.com/GlobalEdgeSoftware/AndroidTV/tree/atv
    cd TvLauncher
    sed -i "s/23.0.3/25.0.2/g" build.gradle
    ./gradlew assembleDebug
    cp app/build/outputs/apk/app-debug.apk
    ../out/target/product/msm8916_64/data/app/
    cd -
    Prepare Image Again

Channel Sources on Android TV

 

Channel

Rich TV Input & The Durian Open Movie Project

Set
The

Live TV Applications Screenshots

Live

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries ("Qualcomm"). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.

Project Authors
Sunitha S. - Tech Lead, Kirupa S. - Software Engineer, Mohan Raj - Software Engineer,

Sign up for the Developer Newsletter.

Get software and hardware tool resources to help optimize your development delivered to your inbox weekly.

Qualcomm relentlessly innovates to deliver intelligent computing everywhere, helping the world tackle some of its most important challenges. Our leading-edge AI, high performance, low-power computing, and unrivaled connectivity deliver proven solutions that transform major industries. At Qualcomm, we are engineering human progress.

Stay connected

Get the latest Qualcomm and industry information delivered to your inbox.

Subscribe
Manage your subscription

© Qualcomm Technologies, Inc. and/or its affiliated companies.

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries. Qualcomm patented technologies are licensed by Qualcomm Incorporated.

Note: Certain services and materials may require you to accept additional terms and conditions before accessing or using those items.

References to "Qualcomm" may mean Qualcomm Incorporated, or subsidiaries or business units within the Qualcomm corporate structure, as applicable.

Qualcomm Incorporated includes our licensing business, QTL, and the vast majority of our patent portfolio. Qualcomm Technologies, Inc., a subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of our engineering, research and development functions, and substantially all of our products and services businesses, including our QCT semiconductor business.

Materials that are as of a specific date, including but not limited to press releases, presentations, blog posts and webcasts, may have been superseded by subsequent events or disclosures.

Nothing in these materials is an offer to sell or license any of the services or materials referenced herein.