Skip to content

Instantly share code, notes, and snippets.

@M0Rf30
Forked from ungeskriptet/tcl-debloater.sh
Created August 22, 2023 12:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save M0Rf30/95ebdd28df927aaabeafb5e2fa403ca9 to your computer and use it in GitHub Desktop.
Save M0Rf30/95ebdd28df927aaabeafb5e2fa403ca9 to your computer and use it in GitHub Desktop.
TCL TV debloater
#!/usr/bin/sh
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment