Third Party Casting Applications on the ADT-1

The ADT-1 is a nifty little device given away to the lucky few who could attend Google I/O in 2014. Alongside those who received the device at I/O, Google opened up a request form for developers who were interested on making things for the Android TV platform.

Unfortunately, official support for the device was quickly dropped, and although the ADT-1 matched most of the Nexus Player functionality, third party Google Cast applications never made their way to the ADT-1. Since the ADT-1 uses the same Google Cast Receiver as the Nexus Player, we should be able to assume it can support all third party apps the Nexus Player can.

Prerequisites

  • A Linux / Mac / Windows1 machine
  • CWM Recovery for the ADT-1. You can find it at the bottom of this thread on XDA
  • USB debugging enabled on the ADT-12
  • [Optional] A USB keyboard, if you'd like to root

Booting the custom recovery

In the hopes that one day ADT-1 owners will receive an OTA, perhaps to 5.1, I advise against flashing the custom recovery and just booting from it instead. You can only receive an OTA while running the stock recovery.

To boot into the custom recovery, ensure USB debugging is enabled and connected, then type the following into your terminal.

adb reboot bootloader

Your device will reboot and will most likely not display anything on your screen. To boot into the custom recovery, type:

fastboot boot cwm_molly_recovery_lpx13d.img

Your device will reboot again, this time into the new recovery.

[Optional] Rooting your ADT-1

If you would like to root your device, now's a good time since we're already in the custom recovery. In the recovery, perform the following steps using a USB keyboard.

  1. Select install zips
  2. Select install zip from sideload

Return to your Linux / Mac / Windows machine and type the following to flash the SuperSU binary:

adb sideload UPDATE-SuperSU-v2.37.zip

Back on the ADT-1, select go back.

Modifying the build.prop

Before we can actually edit the build.prop file to enable third party casting, we have to mount the filesystem. While still in the custom recovery we booted into, type the following on your Linux / Mac / Windows machine:

adb shell
mkdir /main_system
mount -o rw /dev/block/platform/sdhci-tegra.3/by-name/system /main_system
exit

Now that the filesystem is mounted, we can pull the build.prop file.

adb pull /main_system/build.prop

Make a copy of the build.prop. A malformed build configuration can cause your device to be stuck in a bootloop or act in strange ways. Open build.prop in an editor, and change the ro.build.type property value from user to eng. Back in your terminal, type the following to push the modified build.prop to your device.

adb push build.prop /main_system/build.prop

Now we have to fix the permissions of the file or else you'll be stuck in a bootloop.

adb shell
cd /main_system
chmod 0644 build.prop
exit

Reboot your device by typing:

adb reboot

You should be able to cast all third party applications to the ADT-1 now. I've been able to replace my Chromecast used in the best media server I've ever used.


[Bonus] Enable Wireless ADB

ADB over WiFi / network was enabled on the ADT-1 before the 5.0.2 OTA rolled out, but the essential line in the build.prop was removed for security reasons. Leaving your ADT-1 open to any device on your network can indeed be a security risk, but if your network is tiny and you know all the patrons, enabling ADB over WiFi / network can be very useful.

To re-enable ADB over TCP, add the following line to your build.prop while you have it open for the third party casting modification.

service.adb.tcp.port=4321

This will enable ADB on port 4321 again. You can connect to your ADT-1 using the following command:

adb connect <ip-address-for-adt-1>:4321 

  1. Windows machines will need ADB drivers installed

  2. Setting up the ADT-1 for development