Stay organized with collections
Save and categorize content based on your preferences.
With the release of Android 5.0 comes Android TV, which supports Google Cast.
This document describes what you need to do to set up and test on Android TV
when developing Cast applications. Your existing Cast application runs on
Android TV with no additional effort. If you are developing a Cast application
for the first time, review the Google Cast documentation
and develop your Cast application to run on a Chromecast device first before
developing and testing with Android TV.
Setting up for development
Set up your Android TV device:
Connect the Android TV device to the local network.
Sign into your Google account.
From the Settings, in the Device row, select About.
Scroll down to and click on Build several times until a dialog
appears with the message, "You are now a developer."
If USB debugging:
Install the USB cable, but don't connect the master end of the USB cable
to your computer just yet.
In the Preferences row, select Developer options, select
USB debugging, and select On.
Navigate back to the home screen. You must do this to apply the settings you
just selected. The settings will persist unless you perform a factory reset.
Making your Cast application compatible with Android TV requires very little
additional work. Here are some recommendations and common pitfalls to avoid in
order to ensure your application is compatible with Android TV:
Be aware that the user-agent string contains both "Android" and "CrKey";
some sites may redirect to a mobile-only site because they detect the
"Android" label. Don't assume that "Android" in the user-agent string always
indicates a mobile user.
Android's media stack may use transparent GZIP for fetching data. Make sure
your media data can respond to Accept-Encoding: gzip.
Android TV HTML5 media events may be triggered in different timings than
Chromecast, this may reveal issues that were hidden on Chromecast.
When updating the media, use media related events fired by <audio>/<video>
elements, like timeupdate, pause and waiting.
Avoid using networking related events like progress, suspend and
stalled, as these tend to be platform dependent.
When configuring your Web Receiver site’s HTTPS certificates, be sure to
include intermediate CA certificates. See the
Qualsys SSL test page to
verify: if the trusted certification path for your site includes a CA
certificate labelled “extra download”, then it may not load on Android-based
platforms.
While Chromecast displays the Web Receiver page on a 720p graphics plane,
other Cast platforms including Android TV may display the page up to 1080p.
Ensure your Web Receiver page scales gracefully at different resolutions.
Using Android Debug Bridge
The Android TV platform is featured on many kinds of consumer electronics
devices: televisions, set-top boxes, gaming consoles and so forth.
Each may be configured differently. If you are having difficulty accessing the
Android TV system resources through the device's user interface, you may
use the Android Debug Bridge (ADB) to obtain your device's serial number for
registration, as well as to debug your application. See Android
Debug Bridge for more
information.
Using ADB over Wi-Fi
To connect to your device via ADB with a Wi-Fi connection:
Be sure your computer is connected to the same network as your Android
TV device.
Open a terminal and enter the following:
adb connect Android TV device IP address:4321
On your computer, open a terminal and enter ADB commands. You can verify the
connection is established and that the Android TV device is communicating
across the network with the following command:
adb logcat
Using ADB with a USB cable
To connect to your device via ADB with a USB cable connection:
Connect the master end of the USB cable to your computer.
In the Allow USB debugging? dialog, select Always allow from
this computer, and select OK.
On your computer, open a terminal and enter ADB commands. You can verify the
connection is established and that the Android TV device is communicating
across the network with the following command:
adb logcat
Using ADB over TCP/IP
ADB works without a USB cable, over TCP/IP, but you must first get the Android
TV device's IP address. Developer-issue devices listen for ADB port connections
automatically and can be connected without initializing the port. Standard
retail Android TV devices do not listen for ADB connections automatically; for
these devices, you must first connect to ADB with a USB cable and initialize
the port.
Be sure your computer is connected to the same network as the Android
TV device.
On your computer, in a terminal, initialize the port for TCP/IP by
entering the following:
adb tcpip 5555
Remove the USB cable, and enter the following in the terminal:
adb connect Android TV device IP address:5555
If your device is a developer-issue Android TV, do the following:
Be sure your computer is connected to the same network as your Android
TV device.
Open a terminal and enter the following:
adb connect Android TV device IP address:4321
On the Android TV, in the Allow USB debugging? dialog, select Always
allow from this computer, and select OK. You can verify the connection
is established and that the Android TV device is communicating across the
network with the following command:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eExisting Google Cast applications are compatible with Android TV without requiring modifications.\u003c/p\u003e\n"],["\u003cp\u003eBefore developing for Android TV, create a Cast application for Chromecast as a prerequisite.\u003c/p\u003e\n"],["\u003cp\u003eTo debug a Web Receiver on Android TV, connect through ADB and use Chrome DevTools (chrome://inspect).\u003c/p\u003e\n"],["\u003cp\u003eEnsure your Web Receiver handles various resolutions and potential user-agent string issues for compatibility.\u003c/p\u003e\n"],["\u003cp\u003eAndroid TV supports ADB debugging via USB, Wi-Fi, or TCP/IP for easier development and troubleshooting.\u003c/p\u003e\n"]]],[],null,["With the release of Android 5.0 comes Android TV, which supports Google Cast.\nThis document describes what you need to do to set up and test on Android TV\nwhen developing Cast applications. Your existing Cast application runs on\nAndroid TV with no additional effort. If you are developing a Cast application\nfor the first time, review the [Google Cast documentation](/cast/docs/developers)\nand develop your Cast application to run on a Chromecast device first before\ndeveloping and testing with Android TV.\n| **Note:** This document assumes that you have already developed an application that runs on a Chromecast device, as that is a mandatory first step toward having your Cast application running on Android TV.\n\nSetting up for development\n\n1. Set up your Android TV device:\n 1. Connect the Android TV device to the local network.\n 2. Sign into your Google account.\n2. From the **Settings** , in the **Device** row, select **About**.\n3. Scroll down to and click on **Build** several times until a dialog appears with the message, \"You are now a developer.\"\n4. If USB debugging:\n 1. Install the USB cable, but don't connect the master end of the USB cable to your computer just yet.\n 2. In the **Preferences** row, select **Developer options** , select **USB debugging** , and select **On**.\n5. Navigate back to the home screen. You must do this to apply the settings you just selected. The settings will persist unless you perform a factory reset.\n6. Register your Android TV device on the [Google Cast SDK Developer Console](https://cast.google.com/publish), as described in [Device Registration](/cast/docs/registration#RegisterDevice).\n\nDebugging\n\nTo test and debug your Web Receiver application on your Android TV device, do the\nfollowing:\n\n1. Register your Android TV device and your application on the [Google Cast SDK Developer Console](https://cast.google.com/publish). See [Registration](/cast/docs/registration) for more information about registering devices and applications.\n2. Start your sender application and cast to the Android TV device.\n3. Connect to your Android TV device via ADB, as described in [Using Android Debug Bridge](#using_android_debug_bridge).\n4. On your development machine, open a Chrome browser window and navigate to **chrome://inspect** . **Note:** This is different than the [debugging option for a Chromecast device](/cast/docs/debugging#chrome_remote_debugger), where you navigate to your Web Receiver's IP address on port 9222.\n5. Click the **inspect** link to bring the Web Receiver into the debugger.\n6. In the Chrome Remote Debugger console, enable debug logging by entering the\n following:\n\n cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);\n\nSee [Debugging](/cast/docs/debugging) for more information.\n\nGuidelines for Android TV compatibility\n\nMaking your Cast application compatible with Android TV requires very little\nadditional work. Here are some recommendations and common pitfalls to avoid in\norder to ensure your application is compatible with Android TV:\n\n- Be aware that the user-agent string contains both \"Android\" and \"CrKey\"; some sites may redirect to a mobile-only site because they detect the \"Android\" label. Don't assume that \"Android\" in the user-agent string always indicates a mobile user.\n- Android's media stack may use transparent GZIP for fetching data. Make sure your media data can respond to `Accept-Encoding: gzip`.\n- Android TV HTML5 media events may be triggered in different timings than Chromecast, this may reveal issues that were hidden on Chromecast.\n- When updating the media, use media related events fired by `\u003caudio\u003e/\u003cvideo\u003e` elements, like `timeupdate`, `pause` and `waiting`. Avoid using networking related events like `progress`, `suspend` and `stalled`, as these tend to be platform dependent.\n- When configuring your Web Receiver site's HTTPS certificates, be sure to include intermediate CA certificates. See the [Qualsys SSL test page](https://www.ssllabs.com/ssltest/analyze.html) to verify: if the trusted certification path for your site includes a CA certificate labelled \"extra download\", then it may not load on Android-based platforms.\n- While Chromecast displays the Web Receiver page on a 720p graphics plane, other Cast platforms including Android TV may display the page up to 1080p. Ensure your Web Receiver page scales gracefully at different resolutions.\n\nUsing Android Debug Bridge\n\nThe Android TV platform is featured on many kinds of consumer electronics\ndevices: televisions, set-top boxes, gaming consoles and so forth.\nEach may be configured differently. If you are having difficulty accessing the\nAndroid TV system resources through the device's user interface, you may\nuse the Android Debug Bridge (ADB) to obtain your device's serial number for\nregistration, as well as to debug your application. See [Android\nDebug Bridge](http://developer.android.com/tools/help/adb.html) for more\ninformation.\n\nUsing ADB over Wi-Fi\n\nTo connect to your device via ADB with a Wi-Fi connection:\n\n1. On your Android TV device, enabled developer options as described in [Setting up for development](#setting_up_for_development).\n2. Be sure your computer is connected to the same network as your Android TV device.\n3. Open a terminal and enter the following:\n\n ```\n adb connect Android TV device IP address:4321\n ```\n4. On your computer, open a terminal and enter ADB commands. You can verify the\n connection is established and that the Android TV device is communicating\n across the network with the following command:\n\n ```\n adb logcat\n ```\n\nUsing ADB with a USB cable\n\nTo connect to your device via ADB with a USB cable connection:\n\n1. Set up your Android TV device for development, as described in [Setting up for development](#setting_up_for_development).\n2. Connect the master end of the USB cable to your computer.\n3. In the **Allow USB debugging?** dialog, select **Always** allow from this computer, and select **OK**.\n4. On your computer, open a terminal and enter ADB commands. You can verify the\n connection is established and that the Android TV device is communicating\n across the network with the following command:\n\n ```\n adb logcat\n ```\n\nUsing ADB over TCP/IP\n\nADB works without a USB cable, over TCP/IP, but you must first get the Android\nTV device's IP address. Developer-issue devices listen for ADB port connections\nautomatically and can be connected without initializing the port. Standard\nretail Android TV devices do not listen for ADB connections automatically; for\nthese devices, you must first connect to ADB with a USB cable and initialize\nthe port.\n\n1. Set up your Android TV device for development, as described in [Setting up for development](#setting_up_for_development).\n2. On the Android TV, in the **Device** row, select **Network** \\\u003e **Wi-Fi**, and select the connected network.\n3. Select **Status info** and note the **IP address**.\n4. If your device is a standard, retail Android TV device, do the following:\n\n 1. Follow the steps under [Using ADB with a USB cable](#using_adb_with_a_usb_cable).\n 2. Be sure your computer is connected to the same network as the Android TV device.\n 3. On your computer, in a terminal, initialize the port for TCP/IP by\n entering the following:\n\n ```\n adb tcpip 5555\n ```\n 4. Remove the USB cable, and enter the following in the terminal:\n\n ```\n adb connect Android TV device IP address:5555\n ```\n5. If your device is a developer-issue Android TV, do the following:\n\n 1. Be sure your computer is connected to the same network as your Android TV device.\n 2. Open a terminal and enter the following:\n\n ```\n adb connect Android TV device IP address:4321\n ```\n6. On the Android TV, in the **Allow USB debugging?** dialog, select **Always\n allow from this computer** , and select **OK**. You can verify the connection\n is established and that the Android TV device is communicating across the\n network with the following command:\n\n ```\n adb logcat\n ```"]]