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.
- Go to "Settings"
- Select "Device Preferences"
- Select "About"
- Scroll down to and click on Build several times until a toast message appears saying, "You are now a developer".
- You should now have Developer Options enabled on your Shield TV device.
-
Enable adb access on your Nvidia Shield TV device.
- Go to "Settings"
- Select "Device Preferences"
- Scroll to the bottom and choose "Developer Options"
- Toggle "Enable Developer Options" on.
- Scroll down and toggle "Network Debugging" on.
- 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.
- Download the Android SDK Platform Tools (choose the download link for your computer's OS on the page that loads):
- Locate and extract the downloaded zip file
-
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. - Open Control Panel and search for "Environment Variables"
- Click "Edit environment variables for your account"
- Select the variable "Path" and click the "Edit..." button
- In the "Edit environment variable" pop-up, click the New button
- In the line provided, type the path where you copied your platform-tools folder (ie. C:\platform-tools)
-
Getting a new launcher
-
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:
- Sideload Channel Launcher 3 ($3.99) - My personal favorite
- HALauncher (free)
- ATV Launcher (free)
- 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.
-
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:
Replacing Android TV Home
-
Disable Android TV Home
- 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.
-
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.
-
- 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.
-
Return to your PC and once again, type the following:
-
adb connect {IP ADDRESS OF YOUR SHIELD}
-
- You should now be able to connect successfully with no errors.
-
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
-
-
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
-
-
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
-
-
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
- Now, using your Shield remote, press the home button (the button with a "○" in the middle)
- You should get a prompt asking you to choose the default launcher.
- Choose the launcher you downloaded earlier.
- 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.
- 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)
-
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
-
- Now you can install apps onto your Shield device that support widgets and pin widgets to the homescreen.
- I'm personally using the following weather app for it's widget on my homescreen:
- 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.
-
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):
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.
Outstanding. This is so much more helpful than the guides that start with, “So, just ADB into your shield…”