# TCL ak30a5 — Chinese-market TCL Android TV 9, Amlogic SoC, 1.5 GB RAM # Android 9 (PPR1.180610.011), build date 20230208, locale zh-CN, NO Google services at all # (0 com.google.* packages, no Play Store — apps come from com.tcl.appmarket2 or a USB stick). # Likely a good starting point for other 2020-2023 Chinese TCL sets on the same Amlogic firmware. # # Apply: TV_HOST= tools/disable.sh examples/tcl-ak30a5/debloat.txt # Undo: TV_HOST= tools/restore.sh examples/tcl-ak30a5/debloat.txt com.tcl.cyberui # Everything is DISABLED, not uninstalled. Comment out any line you want to keep. # # Stock launcher: com.tcl.cyberui (a PERSISTENT priv-app — see the note below before disabling it). # Live TV / HDMI: com.tcl.tv. There is NO standard TvInputManager on this firmware (`service list` # has no tv_input), so the launcher's Inputs menu opens TCL's own source panel instead: # startService(com.tcl.settings/com.tcl.insrc.ShowWindowService, action com.tcl.insrc.SHOW_WINDOW). # Keep com.tcl.settings or that panel is gone. HDMI source ids: TV=2, AV1=3, HDMI1=8, HDMI2=9. # Keep com.tcl.tv: it owns DTV/HDMI playback and the remote's source key (KEYCODE_TV_INPUT still # opens the source panel over any launcher, cyberui or not). # Keep com.sohu.inputmethod.sogou.tv: it is the ONLY input method on the TV. Disable it and there is # no on-screen keyboard at all. # Keep com.tcl.guard: 电视卫士 is also the only on-screen APK installer (应用安装, needs a USB stick). # Keep com.tcl.ui_mediaCenter if you play anything from USB. # # Known quirks on this firmware: # - `pm install` is patched to refuse shell installs ("install apk has be disabled from pm by # system default"), and PackageInstallerActivity is exported=false with its intent filters removed. # `pm install-commit` is not gated though: an APK can still be installed by creating a # PackageInstaller session from a shell-run app_process and committing that session. # - APKs that declare android.intent.category.HOME are refused at parse time unless they are signed # with TCL's key: "INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES: disable install launcher app not # signature by tcl". A third-party launcher therefore cannot be installed on this model at all; # com.tcl.cyberui stays and only its ad/telemetry packages (this list) can be removed. # - 电视卫士 → 应用安装, the only on-screen installer, stages the APK as a file without the .apk # suffix and fails with INSTALL_PARSE_FAILED_NOT_APK ("Failed to parse .../my_app_session") for # every package. Don't use it. # - Installs also need roughly 600 MB free on /data or they fail with # INSTALL_FAILED_INSUFFICIENT_STORAGE; `pm trim-caches 2000M` is usually enough. # - Installed launcher version here is com.tcl.cyberui 7746 (7.7.46). The 灵控桌面 APKs circulating # for TCL sets are the same package at versionCode 7670 (7.6.70), i.e. a downgrade. # - screensaver_components ships pointing at com.android.deskclock, which is not installed, so the # TV has no working screensaver out of the box (and launcher/'s Clock can't be installed here). # - /data/local/tmp is not writable by the shell user; push to /sdcard instead. # - `screencap` cannot write to /data/local/tmp either, and returns an empty file while Live TV/HDMI # is on screen (same as the G10). Press Home first. # - No com.android.dreams.basic fallback screensaver. Also no TCL equivalent of `pm install`. # TCL ads, telemetry, logging com.tcl.bootadservice # boots into a full-screen ad before Home com.tcl.bi # analytics/behaviour reporting # Preloaded TCL content and services com.tcl.ffkaraoke # karaoke com.tcl.ffeducation # kids/education content com.tcl.tclmusic # music com.tcl.gamecenter # game store com.tcl.playskill # "tips" app com.tcl.appreciate.art # art-wallpaper screensaver content com.tcl.browser # bundled browser com.tcl.common.weather # weather widget service com.tcl.wholenetsearch # global search com.tcl.useragreement # EULA nag com.tcl.versionUpdateApp # TCL updater (the OTA package com.snm.upgrade is already # disabled at the factory on this model) com.tcl.tvhealthcheck # diagnostics uploader com.tcl.logkit # verbose logging com.iflytek.xiri.translate # iFlytek translate # Optional: uncomment what you don't use # com.tcl.ttvs # 3rd-party data/ACR. Also serves com.tcl.ttvs.proxy.business.data, # # which the remote's shortcut-key menu reads — if that menu # # stops working, re-enable this first. # com.tcl.c2dm.client # push channel used by some TCL apps # com.tcl.usercenter # TCL account (needed to sign in to TCL services) # com.tcl.m # unidentified TCL helper; left enabled on purpose # com.tcl.convergehome # TCL content aggregator; not the HOME app on this build # com.tcl.walleve # TCL 小T voice assistant, plus com.tcl.walleve.aidaemon # com.audiocn.karaoke.micmanager # mic handling for the karaoke app, plus com.tcl.micmanager # com.tcl.MultiScreenInteraction_TV # phone screen mirroring / "多屏互动" in the source panel # com.tcl.miracast # Miracast / "无线投屏" in the source panel # com.tcl.weixin # WeChat on TV # Preloaded third-party apps — comment out the ones you watch # com.xftv.tv # 云视听极光 (Tencent Video) # com.newtv.cboxtv # 奇异果 (iQIYI) # com.xiaodianshi.tv.yst # 小电视 (Bilibili) # com.cibn.tv # CIBN 高清影视 # com.baidu.netdisk.tv # Baidu Netdisk # com.netease.cloudmusic.tv # NetEase Cloud Music # com.quark.yun.tv # Quark cloud drive # com.huawei.himovceie # Huawei AI Life # NOT disabled, ever: com.tcl.tv, com.tcl.settings, com.tcl.guard, com.tcl.autopair, # com.tcl.providers.config, com.tcl.TFDS.service, com.tcl.dashboard.service, # com.tcl.packageinstaller.service.renew, com.tcl.xian.StartandroidService, # com.sohu.inputmethod.sogou.tv, com.tcl.ui_mediaCenter, com.android.packageinstaller.