Last active
January 19, 2025 07:37
-
-
Save 0x4f53/27bee9a0069f7bd6a2aa9eb60bb10d1e to your computer and use it in GitHub Desktop.
TCL TV debloater. I've tried making it as close to stock Android TV as possible without messing up too many core features of Android TV.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
bloat=() | |
bloat+=("com.tcl.partnercustomizer") | |
bloat+=("com.tcl.smartalexa") # Alexa integration for tv controls | |
bloat+=("com.tcl.gallery") # Gallery app | |
bloat+=("com.tcl.notereminder") # Notes and reminders app | |
bloat+=("com.google.android.videos") # Google Play Movies and TV (Doesn't get rid of homescreen recommendations) | |
bloat+=("com.google.android.play.games") # Google Play Games | |
#bloat+=("com.android.vending") # Google Play Store | |
bloat+=("com.tcl.MultiScreenInteraction_TV") | |
#bloat+=("com.tcl.tv") # Important TV elements, such as switching between HDMI and AV mode | |
bloat+=("com.tcl.ui_mediaCenter") # USB File explorer app | |
bloat+=("com.tcl.messagebox") | |
bloat+=("com.netflix.ninja") # Netflix TV app | |
#bloat+=("com.amazon.amazonvideo.livingroom") | |
bloat+=("tv.wuaki.apptv") | |
bloat+=("com.tcl.guard") # Shitty "antivirus" | |
bloat+=("com.tcl.tvweishi") # Homescreen service for shitty "antivirus" | |
bloat+=("com.tcl.t_solo") | |
bloat+=("com.tcl.dashboard") | |
bloat+=("com.tcl.tv.tclhome_master") | |
#bloat+=("com.google.android.tv.remote.service") | |
bloat+=("com.tcl.copydatatotv") | |
bloat+=("com.tcl.initsetup") | |
bloat+=("com.android.camera2") | |
bloat+=("com.android.messaging") | |
bloat+=("com.tcl.usercenter") | |
bloat+=("com.tcl.externaldevice.update") | |
bloat+=("com.tcl.useragreement") | |
bloat+=("com.tcl.appstatecontroller") | |
#bloat+=("com.tcl.micmanager") # Enables mic on TV remote | |
#bloat+=("com.google.android.youtube.tv") | |
bloat+=("com.google.android.youtube.tvmusic") | |
#bloat+=("com.google.android.tvlauncher") # Stock Android TV (7.0) Launcher (lightweight) | |
bloat+=("com.google.android.leanbacklauncher.recommendations") # "Shop" page on homescreen | |
#bloat+=("com.google.android.apps.tv.launcherx") # New Google TV Launcher (heavy and hated). | |
bloat+=("com.google.android.tvrecommendations") | |
bloat+=("com.google.android.marvin.talkback") | |
bloat+=("com.android.dreams.basic") | |
bloat+=("com.tcl.bi") | |
bloat+=("com.google.android.backdrop") | |
bloat+=("com.google.android.apps.mediashell") | |
bloat+=("com.tvos") | |
bloat+=("com.tcl.videoplayer") | |
bloat+=("com.google.android.apps.nbu.smartconnect.tv") | |
bloat+=("android.autoinstalls.config.tcl.device") | |
bloat+=("com.android.printspooler") | |
bloat+=("com.tcl.esticker") | |
#bloat+=("com.google.android.inputmethod.latin") # Gboard | |
# bloat+=("com.google.android.katniss") # Google Assistant overlay for TV | |
bloat+=("com.google.android.syncadapters.calendar") | |
bloat+=("com.google.android.onetimeinitializer") | |
bloat+=("com.google.android.partnersetup") | |
#bloat+=("com.google.android.gms") # Play Services | |
bloat+=("com.google.android.gsf") | |
bloat+=("com.android.providers.calendar") | |
bloat+=("com.tcl.keyhelp") | |
bloat+=("com.android.providers.contacts") | |
#bloat+=("com.google.android.tv.assistant") # Google Assistant | |
bloat+=("com.google.android.feedback") | |
bloat+=("com.android.providers.userdictionary") | |
bloat+=("com.tcl.miracast") | |
bloat+=("com.tcl.audioplayer") | |
bloat+=("com.tcl.overseasappshow") | |
bloat+=("com.tcl.rc.ota") | |
bloat+=("com.tcl.imageplayer") | |
bloat+=("com.tcl.pvr.pvrplayer") | |
bloat+=("com.tcl.appmarket2") | |
bloat+=("com.google.android.sss.authbridge") | |
#bloat+=("com.google.android.tts") # Text to speech, talks back to user | |
bloat+=("com.tcl.xian.StartandroidService") | |
bloat+=("com.tcl.versionUpdateApp") | |
bloat+=("com.tcl.assistant") | |
bloat+=("com.tcl.waterfall.overseas") | |
bloat+=("com.tcl.factory.view") | |
bloat+=("com.tcl.system.server") | |
bloat+=("com.google.android.tv.frameworkpackagestubs") | |
bloat+=("com.google.android.ext.shared") | |
#bloat+=("com.tcl.framework.custom") # Important TV UI elements, such as the volume controls | |
#bloat+=("com.google.android.permissioncontroller") # Permissions granter | |
#bloat+=("com.google.android.overlay.modules.permissioncontroller") # Permissions granter | |
#bloat+=("com.google.android.overlay.modules.permissioncontroller.forframework") # Permissions granter | |
bloat+=("com.google.android.overlay.modules.ext.services") | |
#bloat+=("com.google.android.overlay.modules.modulemetadata.forframework") | |
#bloat+=("com.android.location.fused") # Supports Android's location services framework | |
bloat+=("uk.co.freeview.mdsclient") | |
bloat+=("uk.co.freeview.amc_catchup") | |
bloat+=("com.update.appnews") | |
bloat+=("com.tcl.bootadservice") # Ads within tcl apps | |
bloat+=("uk.co.freeview.onnow") | |
bloat+=("au.com.stan.and") | |
bloat+=("uk.co.freeview.uktv") | |
bloat+=("uk.co.freeview.fvpconfigauth") | |
bloat+=("uk.co.freeview.systemdistributor") | |
bloat+=("uk.co.freeview.tifbridge") | |
bloat+=("com.linecorp.linetv") | |
bloat+=("uk.co.freeview.explore") | |
bloat+=("com.google.android.videos") | |
bloat+=("uk.co.freeview.bbc") | |
bloat+=("uk.co.freeview.ch5") | |
bloat+=("uk.co.freeview.itv") | |
bloat+=("uk.co.freeview.stv") | |
bloat+=("com.aos.aostv") | |
bloat+=("uk.co.freeview.amc_horror") | |
bloat+=("uk.co.freeview.ch4_vod") | |
bloat+=("com.graymatrix.did") | |
for package in "${bloat[@]}"; do | |
echo "> ${package}" | |
#adb shell cmd package install-existing $package # Uncomment this to reinstall everything you uninstalled | |
adb shell pm uninstall --user 0 $package | |
done | |
adb reboot |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Yeah, I learnt my lesson. I installed stock firmware as I didn't know how to reinstall uninstalled packages. Next time I will try reinstalling as you suggest. However, I don't have a production TV and a non-production one, I just have one TV with bloatware to try things on.
I don't know which packages caused issues, but google play was removed and when shutting TV off and turning it on again it started going black and flashing to launcher. It was so fast that I couldn't do a factory reset with the remote so I tried reinstalling stock. It took a while because reinstalling stock failed. I had to lower the stock version, flash twice to recover. Not nice.
After going back to latest stock, I removed these packages and things seem to be working fine, I believe they are safe to remove.