-
-
Save ungeskriptet/b97929def22723f925a7ed3a295dac57 to your computer and use it in GitHub Desktop.
#!/usr/bin/sh | |
# WARNING: Might brick your TV | |
set -e | |
TEMP_DIR=tmp-tcl-debloater | |
KODI_URL=https://mirrors.kodi.tv/releases/android/arm/kodi-20.1-Nexus-armeabi-v7a.apk | |
FLAUNCHER_URL=https://gitlab.com/flauncher/flauncher/-/releases/0.18.0/downloads/flauncher-0.18.0.apk | |
MATERIALFILES_URL=https://f-droid.org/repo/me.zhanghai.android.files_31.apk | |
BLOAT=$(cat <<EOF | |
com.tcl.partnercustomizer | |
com.tcl.smartalexa | |
com.tcl.gallery | |
com.tcl.notereminder | |
com.google.android.videos | |
com.google.android.play.games | |
com.android.vending | |
com.tcl.MultiScreenInteraction_TV | |
com.tcl.ui_mediaCenter | |
com.tcl.messagebox | |
com.netflix.ninja | |
com.amazon.amazonvideo.livingroom | |
tv.wuaki.apptv | |
com.tcl.guard | |
com.tcl.t_solo | |
com.tcl.dashboard | |
com.google.android.tv.remote.service | |
com.tcl.copydatatotv | |
com.tcl.initsetup | |
com.android.camera2 | |
com.android.messaging | |
com.tcl.usercenter | |
com.tcl.externaldevice.update | |
com.tcl.useragreement | |
com.tcl.micmanager | |
com.google.android.youtube.tv | |
com.google.android.youtube.tvmusic | |
com.google.android.tvlauncher | |
com.google.android.tvrecommendations | |
com.google.android.marvin.talkback | |
com.android.dreams.basic | |
com.tcl.bi | |
com.google.android.backdrop | |
com.google.android.apps.mediashell | |
com.tvos | |
com.tcl.videoplayer | |
com.google.android.apps.nbu.smartconnect.tv | |
android.autoinstalls.config.tcl.device | |
com.android.printspooler | |
com.tcl.esticker | |
com.google.android.inputmethod.latin | |
com.google.android.katniss | |
com.google.android.syncadapters.calendar | |
com.google.android.onetimeinitializer | |
com.google.android.partnersetup | |
com.google.android.gms | |
com.google.android.gsf | |
com.android.providers.calendar | |
com.tcl.keyhelp | |
com.android.providers.contacts | |
com.google.android.tv.assistant | |
com.google.android.feedback | |
com.android.providers.userdictionary | |
com.tcl.miracast | |
com.tcl.audioplayer | |
com.tcl.overseasappshow | |
com.tcl.imageplayer | |
com.tcl.pvr.pvrplayer | |
com.google.android.sss.authbridge | |
com.google.android.tts | |
com.tcl.xian.StartandroidService | |
com.tcl.versionUpdateApp | |
com.tcl.assistant | |
com.tcl.waterfall.overseas | |
com.tcl.factory.view | |
com.tcl.system.server | |
com.google.android.tv.frameworkpackagestubs | |
com.google.android.ext.shared | |
com.google.android.permissioncontroller | |
com.google.android.overlay.modules.permissioncontroller | |
com.google.android.overlay.modules.permissioncontroller.forframework | |
com.google.android.overlay.modules.ext.services | |
com.google.android.overlay.modules.modulemetadata.forframework | |
com.android.location.fused | |
EOF | |
) | |
read -p "TCL IP: " TCL_IP | |
adb connect $TCL_IP | grep -q fail && echo "Unable to connect to TCL TV" && false | |
mkdir -p $TEMP_DIR | |
echo "Downloading Kodi" | |
wget $KODI_URL -O $TEMP_DIR/kodi.apk | |
echo "Installing Kodi" | |
adb install $TEMP_DIR/kodi.apk | |
echo "Downloading FLauncher" | |
wget $FLAUNCHER_URL -O $TEMP_DIR/flauncher.apk | |
echo "Installing FLaucher" | |
adb install $TEMP_DIR/flauncher.apk | |
echo "Downloading Material Files" | |
wget $MATERIALFILES_URL -O $TEMP_DIR/materialfiles.apk | |
echo "Installing Material Files" | |
adb install $TEMP_DIR/materialfiles.apk | |
echo "Grating permission for Material Files" | |
adb shell pm grant me.zhanghai.android.files android.permission.READ_EXTERNAL_STORAGE | |
adb shell pm grant me.zhanghai.android.files android.permission.WRITE_EXTERNAL_STORAGE | |
rm -r $TEMP_DIR | |
for package in $BLOAT | |
do | |
echo "Disabling ${package}" | |
adb shell pm uninstall --user 0 $package | |
done | |
echo "Rebooting TV" | |
adb reboot |
Update: I was wrong, just noticed i don't have any of my TV inputs available anymore. will update when i determine responsible package.
@kernelzeroday this happened to me too 😅, it's suppose to be either com.tcl.tvinput or com.android.inputdevices, or both! hope that helps
It's com.tcl.tv
. Spent an hour scratching my head with this one.
I uploaded an alternate Gist here that you can use to keep Android TV and only disable unnecessary bloat (especially stuff that phones home).
This script is a scam. The author has absolutely no knowledge of what can be removed and what can remain. Removing all applications included in the script is dangerous and may lead to a complete brick TV or lack of many TV functionalities. The "TV" app (com.tcl.tv) must be in the system, because is required like I write earlier.
This script delete app like Google Play Store and many system google app required for functionality apps! Deleting this all not speed up tv...
lol
This script is a scam. The author has absolutely no knowledge of what can be removed and what can remain. Removing all applications included in the script is dangerous and may lead to a complete brick TV or lack of many TV functionalities.
I don't know about "scam", but yeah, the list seems to be extremely poorly made and untested with no disclaimers. It could be that the author added packages they were testing on the fly with several errors, or that it's AI generated.
I've also noticed that they snuck in installing Kodi, FLauncher and a file manager, so maybe they really want nothing to do with Android TV or TCL's apps... which begs the question - why not just get a regular TV and a Raspberry Pi?
Oh well, it's important to note that code on GitHub always needs to reviewed and trusted first, since anyone can write anything.
DON'T DISABLE THESE:
com.tcl.waterfall.overseas - (Google TV logo bootloop hanging.)
com.android.location.fused - (Google TV logo bootloop hanging.)
com.google.android.apps.tv.launcherx - (Google TV, if you disable this you will see blank screen, without launcher UI, but the TV will still work,)
Tested on this TV:
Model: 55P635
Prodcut Ver.: V8-R51AT01-LF1V107.020689
European TCL Model
Don't run this script...
@kernelzeroday this happened to me too 😅, it's suppose to be either com.tcl.tvinput or com.android.inputdevices, or both!
hope that helps