How to install a 3rd-party launcher as default on an Nvidia Shield TV device (x-post from r/ShieldAndroidTV).

by kurmudgeon

Note: These instructions are specific to Nvidia Shield TV devices. I cannot guarantee that they will work the same on any other devices.

I wrote these instructions down for my own reference, but thought I'd share them here as well in case others might find it helpful. Currently, other than disconnecting your Shield from the Internet, this is the only way to prevent the new UI with tasteless ads being pushed from Google. Since many of the 3rd party launchers available are fully customizable, you can most likely tailor it to look better than the original Android TV Home app and you can avoid having ads on your homescreen, giving you absolute control.


Prep


  • Enable developer options on your Nvidia Shield TV device.

    1. Go to "Settings"
    2. Select "Device Preferences"
    3. Select "About"
    4. Scroll down to and click on Build several times until a toast message appears saying, "You are now a developer".
    5. You should now have Developer Options enabled on your Shield TV device.
  • Enable adb access on your Nvidia Shield TV device.

    1. Go to "Settings"
    2. Select "Device Preferences"
    3. Scroll to the bottom and choose "Developer Options"
    4. Toggle "Enable Developer Options" on.
    5. Scroll down and toggle "Network Debugging" on.
    6. Note the IP address and port that is shown. You will need this later.
  • Setup adb on your computer. These instructions are for Windows 10, but you should be able to follow most of these instructions for your OS in a similar fashion.

    1. Download the Android SDK Platform Tools (choose the download link for your computer's OS on the page that loads):
    2. Locate and extract the downloaded zip file
    3. Inside the extracted folder, you will find a folder titled "platform-tools". Copy this folder and place it somewhere easy to remember, like for example: C:\platform-tools .
    4. Open Control Panel and search for "Environment Variables"
    5. Click "Edit environment variables for your account"
    6. Select the variable "Path" and click the "Edit..." button
    7. In the "Edit environment variable" pop-up, click the New button
    8. In the line provided, type the path where you copied your platform-tools folder (ie. C:\platform-tools)
  • Getting a new launcher

    1. Back on your Nvidia Shield TV, open the Play Store, search for and install a 3rd-party launcher of your choice. The ones I recommend are the following:
    2. Note: I don't support using Wolf Launcher, which you will no doubt see suggested quite often, since it is not found on the Play Store, nor is it open source. For reference, Wolf Launcher is a pirated and modded version of the ATV Launcher Pro from the Play Store. We don't know what modifications were made, there is no documentation or proof of those modifications. To be safe, I cannot recommend Wolf Launcher for these reasons. But, it's your device and your preferences. Please choose wisely.

Replacing Android TV Home


  • Disable Android TV Home

    1. First, we need to disable Android TV Home. It's a system app, which means you can't simply uninstall it. Therefore, we need to use adb to disable it, preventing the app from working completely.
    2. Back on your PC, open Powershell and type the following:
      • adb connect {IP ADDRESS OF YOUR SHIELD}
      • Use the the IP address you should have noted from the earlier step when we enabled Network Debugging.
      • Note: Sometimes your setup may require the port number as well, which is shown when you enabled Network Debugging in a previous step. By default the port is 5555. An example command with the port would look like adb connect 192.168.1.1:5555 .
    3. Now, this will probably fail because we need to allow an adb debugging from your PC on your Nvidia Shield. Return to your Nvidia Shield and you should see a pop-up asking for permission to allow Network Debugging. Check the checkbox, then choose OK.
    4. Return to your PC and once again, type the following:
      • adb connect {IP ADDRESS OF YOUR SHIELD}
    5. You should now be able to connect successfully with no errors.
    6. Now issue the following command to disable Android TV Home:
      • adb shell pm disable-user --user 0 com.google.android.tvlauncher
      • Note: To re-enable Android TV Home, issue the following: adb shell pm enable com.google.android.tvlauncher
    7. You can safely disable Android TV Core:
      • adb shell pm disable-user --user 0 com.google.android.tvrecommendations
      • Note: To re-enable Android TV Core, issue the following: adb shell pm enable com.google.android.tvrecommendations
    8. You can safely disable Leanback Launcher:
      • adb shell pm disable-user --user 0 com.google.android.leanbacklauncher
      • Note: To re-enable Android TV Core, issue the following: adb shell pm enable com.google.android.leanbacklauncher
    9. You can safely disable Leanback Launcher Recommendations:
      • adb shell pm disable-user --user 0 com.google.android.leanbacklauncher.recommendations
      • Note: To re-enable Android TV Core, issue the following: adb shell pm enable com.google.android.leanbacklauncher.recommendations
  • Setting the new launcher as default

    1. Now, using your Shield remote, press the home button (the button with a "○" in the middle)
    2. You should get a prompt asking you to choose the default launcher.
    3. Choose the launcher you downloaded earlier.
    4. You may also get prompted to grant permissions to the launcher app to access services on your device. You will want to grant the requested access for the launcher to work properly.
    5. Now you can configure/customize your new default homescreen launcher app to your liking.
  • Enabling widgets on Android TV for Sideload Channel Launcher 3 (optional)

    1. If you chose Sideload Channel Launcher 3, you'll need to also issue the following adb command to enable widgets (this command will be different for other launchers):
      • adb shell appwidget grantbind --package dxidev.sideloadchannel3 --user 0
      • Note: To turn revoke access to widgets once again (undo the previous command), type the following: adb shell appwidget revokebind --package dxidev.sideloadchannel3 --user 0
    2. Now you can install apps onto your Shield device that support widgets and pin widgets to the homescreen.
    3. I'm personally using the following weather app for it's widget on my homescreen:
    4. If you didn't choose Sideload Channel Launcher 3, you will need to find out if you need to take similar actions for your launcher of choice and what, if any, commands are required.

Here are some screenshots of the homescreen for my Nvidia Shield using these instructions and after adding my personal touches (view the album on Imgur for some extra details):


By disabling Android TV Home, you are preventing the remote home button mappings/bindings from sending you back to the Android TV Home app, and instead, it will show your chosen default launcher. Same thing when ending a video casted with Chromecast.

Google Assistant still works by pressing the microphone button on your Shield remote. The menu button on your Shield remote will still show the menu along the right-hand side of the screen too.

If you previously disabled automatic updates in Play Store, feel free to re-enable them to stay secure. Since Android TV Home is now disabled, there is no worry about ever getting ads on your homescreen from an app update again.

I hope this guide can help someone else.

Edit: Replaced the potato pics with actual screenshots in an album on Imgur with more details about my current setup.

Edit 2: Removed ATV Launcher Pro since it no longer gets updates like the free version does.

splingles

Outstanding. This is so much more helpful than the guides that start with, “So, just ADB into your shield…”

THE_Celts

Rather than going through all these steps, couldn't you simply use the Launcher Manager App as outlined in this post ?

gotamd

I know this post is pretty old now, but I wanted to send you my thanks for compiling and posting these instructions. They worked flawlessly! I love having a super clean and simple home screen (FLauncher) without clutter or ads. Thanks again!

tomhusband

Great job. Beautiful homepage. What happens when Nvidia updates the Shield OS?

available_username2

It's easier to use remote adb shell on an android phone if you have one

Spyke562

Great post! I just finished my setup with no issues at all. I also agree with your comments on which launcher you chose so thanks for including that.

One thing I was looking for that I don't see, and I really like in the default launcher, was the ability to show the recommended shows for each app.

For example the default launcher showed the my Netflix app and next to it was a row of thumbnails of each show that I previously watched.

Can Sideload Channel Launcher 3 do this?

Thanks again!

rednight39

Thank you. I just got the ads.

Really, thank you.

CharlotteHebdo

Question: what happens if you just install a launcher (say ATV Launcher) from the Play Store without doing all the ADB stuff? Does pressing the home button go to the installed launcher or the default one?

MikeBanning

Gonna do this later to make ATV my default. Only because of the ads on the stock launcher. They'll probably put out an update to prevent this later.

MixesLiesWithTruth

Excellent, thank you.

noraz123

This is excellent. Thank you so much for sharing this.

roblav96

The HOME button can be reassigned to any launcher via pm set-home-activity

For example:

adb shell pm set-home-activity --user 0 dxidev.sideloadchannel3
Battery3996

I had to look up the adb default port but over all great walk through. My shield did not give a port. Might want to add in there that the default port is 5555

SimShade

Good lord, that launcher looks beautiful. Can anyone confirm if this works on CCWGTV?

thaiusmle

Where do you get the wallpaper from? Thanks.

vipeness

Curious; If you want to revert back to defaults, how?

[deleted]

So guys basically I've just disabled play store to manual updates and reverted the launcher back to default.... I don't mind just using the manual updates here and there. Is there an issue this way? Much easier if you don't care for features just basic home screen shortcuts? Curious

marcmv1

Thanks for the walkthrough. Took me about 2 minutes to install Sideload Channel Launcher 3 for TV for Reddit and disable the awful android home.

highedutechsup

which don't have a stupid splash screen and work like a default?

hitti3

Thank you a lot.

One question, how did you get the time, date in the weather widget?

cou94114

Following your excellent instructions, I successfully installed Sideload Channel Launcher 3 on my 2016 Sony Bravia TV (XBR-65X900E) running Android TV 9. I disabled the stock launcher using adb and successfully mapped my remote control's Home key to launch SCL3. Everything works great and no ads or clutter on my home screen. I posted a five star review on Google Play Store for SCL3. Thank you for the instructions.

the_bean_grinder

Hey I just wanted to thank you for this guide. After the update to shield shoving ads down our throats I was really annoyed. My UI is so clean now.

blackbeatsblue

Tried to follow these directions, but they failed on:

.\adb shell pm disable-user --user 0 com.google.android.leanbacklauncher

This is almost certainly thanks to the latest Shield update.

After looking over the Play Store I was able to see the package is now:

.\adb shell pm disable-user --user 0 com.google.android.tvlauncher

But I couldn't find an equivalent for "recommendations". As long as the launcher is gone, I'm happy.

Briefer_briefer

Works great! thanks!

tkmoney01

Thank you!

whoever decided to funnel adds to the shield should be removed