How to Sideload Desktop Apps Mirroring to Android TV via CastMLT
Updated 2026-10-28
The Android TV remote you use every day—whether a Google Remote, Logitech Bolt, or a third‑party Bluetooth keychain—can’t push apps straight onto the TV like a modern phone. To mirror a desktop application onto the TV screen, you have to load the sideloading sideboard first, then run the installer through a companion device. This guide walks through exactly which tools to pick, the order they must be applied, and the pitfalls that trip up most users on the first try.
What CastMLT and ScreenCast Are
CastMLT (short for Cast Multi‑Tool) and ScreenCast occupy the same niche but differ in how they hand off a package from the phone to the TV. CastMLT is a dedicated Android developer utility that exposes the ADB shell over USB on non‑USB‑port‑enabled devices, making it easy to push APKs directly onto the TV without needing a computer. ScreenCast is a more general screen‑casting app that, in its mirroring mode, can also act as a container for installation files and system permissions. The practical difference for you is the permission flow: ScreenCast leverages the TV’s built‑in casting handshake, while CastMLT gives you raw file access, which matters once you’ve moved past the basic “install from APK” step.
Both approaches require the TV to be unlocked and the ADB debugging toggle enabled before the first use. On Pixel TV models running stock Android TV, that means going to Settings > About > Advanced > Developer options.
Step-by-Step: Sideloading via CastMLT
Start with CastMLT because it removes the need for a separate PC. Download the latest CastMLT release for Android from the official GitHub issues thread or the project maintainer’s verified channel. You’ll need one thing: a computer with ADB installed and USB debugging turned on on the phone.
- Enable USB debugging on the phone and allow “USB debugging” prompts.
- Connect the phone to the TV with a wired cable; the TV should recognize the phone as an ADB device.
- Push the APK you want mirrored—say, a Chromium browser build—to the TV’s /data/local/tmp/ folder using CastMLT’s push command.
- Run the APK from the TV using CastMLT’s execute action. The TV will prompt you to confirm installation, and you must grant the permissions explicitly. This is where most beginners get tripped up: the TV’s permission dialog is stricter than a phone’s, and it only appears once per uninstall cycle.
Once the binary installs, you can launch it from the TV’s app drawer. The real value shows up when you run the app’s mirroring feature; CastMLT keeps the process alive even if the phone disconnects, so the TV persists with the sideloaded app and the streaming pipeline stays intact.
Step-by-Step: Setting Up ScreenCast for Remotes
ScreenCast works differently. In the app store (or from the developer’s verified download), install ScreenCast on the TV itself. Pair it with a Bluetooth remote that supports custom button mappings—the Logitech Bolt Remote Pro in particular sends OSC‑style events that ScreenCast understands.
After installing, open ScreenCast on the TV and select “Mirror.” The app will now show any Bluetooth remote paired to the TV. Map the remote’s home‑button presses to the actions you need: opening the ScreenCast UI, triggering an install from the phone, or switching the mirror stream between two sources. While the UI is active, use the remote to send the installation link for the desktop app you want to mirror. ScreenCast wraps the installation payload in its own signed envelope, so the TV accepts the APK even when the traditional Play Store pathway is unavailable.
Common Pitfalls and Trade-Offs
The biggest trade-off is between security and convenience. Sideloading skips the Play Store review process, so you’re signing trust decisions yourself. On Samsung Smart TVs or LG webOS appliances, the mirroring pipeline is harder to set up because those TVs don’t expose ADB to third‑party devices, and sideloading is restricted to pre‑approved content. On Google’s own NX series, both methods work reliably, but you’ll need to re‑enable USB debugging whenever you swap the remote—this isn’t a bug, it’s a design decision to keep the Android TV sandboxed.
Another common issue: the TV may kill the sideloaded app mid‑session if a background system update is pushed from the same account. Reboot the TV into recovery, clear the app cache, and redownload the APK from the phone. Also, if the sideloaded binary is newer than the TV’s API level support, some features—like local audio routing—won’t work, so check the version notes in the sideloading tool’s changelog before pushing.
Why Does the Launcher Still Stutter?
Once you’ve installed a desktop app through either method, the Android TV launcher sometimes freezes or drops transitions when the app switches media contexts. This happens because the launcher’s state machine has to reconcile the new overlay with the existing homescreen icons. The fix is simple: use the “Recents” button on the remote, close the mirrored app, wait ten seconds, then reopen it. Repeating the cycle once or twice usually clears the stutter. If it persists, unplugging the USB cable, rebooting the TV, and reinstalling the app fixes the state corruption.
By choosing the right tool—CastMLT for raw APK control or ScreenCast for a remote‑friendly workflow—and understanding the permission and reboot boundaries, you can bring useful desktop applications to your Android TV without relying on Google’s curated app pipeline. Start with a single browser or dev tool, verify the mirroring path on a small scale, and expand from there.
Related reading: more Android TV notes
Read next
How to Automate Weekly Sideloading Updates on Android TV Media Panels
Learn how to set up automated sideloading of media panel apps on Android TV. Keep your panel extensions fresh without manual effort.
Best Practices for Securely Sideloading Corporate Android TV Apps
Learn how to safely sideload Android TV apps on corporate firmware to reduce attack surface without compromising performance or compliance.