mirror of
https://github.com/Gathin23/cleanyourtv.git
synced 2026-10-27 19:54:45 +00:00
Add Sony X9000H (China) debloat list and device report
Tested on Sony BRAVIA X9000H (China, BRAVIA_VH1_CN), Android TV 12, build STT2.230505.001.S89. Reboot-checked and used for several days. Refs #659.
This commit is contained in:
1 parent
8de5533c58
commit
12b14cba20
5 files changed
+194
No files matched your search
@@ -190,6 +190,7 @@ BYINTEK, JMGO, Portronics, Stellamore, Wanbo and XGIMI projectors
|
||||
| Sony BRAVIA KD-65X9300D (2016, SVP-DTV15, MediaTek), Asia-Pacific | Android TV 8.0 |
|
||||
| Sony BRAVIA TL2 (OD0M_EA_T32, TPV-built, MediaTek), Europe | Android TV 11 |
|
||||
| Sony BRAVIA VU31 4K (BRAVIA_VU31_4K, Realtek), India | Google TV 14 |
|
||||
| Sony BRAVIA X9000H (2020, BRAVIA_VH1_CN, MediaTek MT5895), China | Android TV 12 |
|
||||
| Sony BRAVIA XBR-65X900E (2017, BRAVIA_ATV2) | Android TV 9 |
|
||||
| Sony BRAVIA XBR-65X900F (2018, BRAVIA_ATV3_4K, MediaTek MT5891), US/Canada | Android TV 9 |
|
||||
| Stellamore T950S projector (Droidlogic be30a3, Amlogic txhd2) | Android 13 |
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 689 KiB |
@@ -0,0 +1,104 @@
|
||||
# Sony X9000H (China firmware): launcher handover and debloat notes
|
||||
|
||||
Owner report for a China-market X9000H. The retail model was supplied by the owner; Android exposes
|
||||
the platform model, so a different regional X9000H may behave differently. A tested package list for
|
||||
this unit lives in [`examples/sony-x9000h-cn/debloat.txt`](../../examples/sony-x9000h-cn/debloat.txt).
|
||||
|
||||

|
||||
|
||||
## Observed firmware
|
||||
|
||||
| Field | Observed value |
|
||||
|---|---|
|
||||
| Owner-reported retail model | Sony X9000H (KD-55/65/75X9000H family) |
|
||||
| Manufacturer | `Sony` |
|
||||
| Android model / product | `BRAVIA VH1` / `BRAVIA_VH1` |
|
||||
| Device | `BRAVIA_VH1` |
|
||||
| Android / API | `12` / `31` |
|
||||
| Build fingerprint | `BRAVIA_VH1_CN-user 12 STT2.230505.001.S89 625561 release-keys` |
|
||||
| Security patch | `2025-09-01` |
|
||||
| Application ABIs | `armeabi-v7a` |
|
||||
| RAM | 2,997,592 kB (~2.9 GB) |
|
||||
| Google client ID | `android-sonyfy20-tv` (China firmware: no GMS, no Play Store) |
|
||||
| SoC | MediaTek MT5895 (as reported by the owner) |
|
||||
|
||||
`ro.build.characteristics` is `nosdcard,tv`. The `_CN` suffix appears in the fingerprint and build
|
||||
display id only; `getprop ro.product.model` reports the generic `BRAVIA VH1`.
|
||||
|
||||
## Stock Home and handover
|
||||
|
||||
The stock Home component on this unit was:
|
||||
|
||||
```text
|
||||
com.dangbei.TVHomeLauncher/com.dangbei.leard.leradlauncher.ui.sony.main.MainActivity
|
||||
```
|
||||
|
||||
It is 当贝桌面 ("电视桌面"), a system priv-app at
|
||||
`/system/system_ext/priv-app/ChinaHome.apk`. This firmware ships no Google TV / Android TV launcher;
|
||||
应用中心 is `com.sony.dangbeimarket`, a Dangbei store. Because Dangbei is not one of
|
||||
`build-and-install.sh`'s `KNOWN_STOCK_LAUNCHERS`, the script would refuse to guess it. The launcher
|
||||
was therefore built from main and installed with:
|
||||
|
||||
```sh
|
||||
adb install -r launcher/app/build/outputs/apk/release/app-release.apk
|
||||
adb shell am start -W -n com.gathin.tvhome/.MainActivity # Status: ok, cold start 926 ms
|
||||
adb shell cmd package set-home-activity --user 0 com.gathin.tvhome/.MainActivity
|
||||
```
|
||||
|
||||
Dangbei was left enabled as the fallback (`STOCK_LAUNCHER=none`). After a `svc power reboot`:
|
||||
|
||||
- `cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.HOME`
|
||||
still resolved to `com.gathin.tvhome/.MainActivity`;
|
||||
- the launcher was the focused window after boot;
|
||||
- the Home key returned to it from the system Settings and from the input panel.
|
||||
|
||||
The restore target is the Dangbei component above. It was never disabled, so restoring Home is a
|
||||
single `set-home-activity` call once the reference launcher is uninstalled.
|
||||
|
||||
## Live TV and HDMI
|
||||
|
||||
- Live TV / player package: `com.sony.dtv.tvx`, launcher activity `com.sony.dtv.tvx/.MainActivity`.
|
||||
- `KEYCODE_TV_INPUT` opened a `com.android.systemui` input window and Home returned to the reference
|
||||
launcher, so the launcher's optional `InputKeyService` was not enabled.
|
||||
- The input framework itself was not exercised further: no HDMI source was switched and tuner
|
||||
reception was not checked.
|
||||
|
||||
Keep `com.sony.dtv.tvinput.*`, `com.sony.dtv.tvapi`, `com.sony.dtv.sonysystemservice`,
|
||||
`com.sony.dtv.sonyvendorservice`, `com.sony.dtv.settingsprovider`,
|
||||
`com.sony.dtv.systemupdate`/`update`, `com.sony.dtv.braviasync*`, `com.sony.dtv.partnerkeycn` (it
|
||||
holds enclave/DRM keys) and all `com.mediatek.*`. They drive HDMI, the tuner, DRM, OTA, CEC and the
|
||||
remote.
|
||||
|
||||
## Debloat notes
|
||||
|
||||
- 33 packages were disabled with `pm disable-user` (nothing uninstalled) and reboot-checked; five
|
||||
more were already disabled at the factory (`mysony`, `livingfit`, `iot`, `b2b.vendorprotocol`,
|
||||
`b2b.softap`). The list is in `examples/sony-x9000h-cn/`.
|
||||
- This China build has **no** Samba TV (`tv.samba.ssm`), no Google feedback package and no
|
||||
`com.sony.dtv.promos` / `sonyselect` / `sonytab`. There is no Sony ACR or advertising ID to
|
||||
remove here. The ad surfaces are the Dangbei home/store, HappyCast and the preinstalled content
|
||||
apps.
|
||||
- Kept by the owner: `com.sony.dangbeimarket` (应用中心), `com.hpplay.happyplay.aw` (乐播投屏 —
|
||||
the only casting path without Google Cast) and `com.dangbei.TVHomeLauncher`.
|
||||
- `com.sony.dtv.b2b.hotelmode` is `PERSISTENT`. `pm disable-user` sets `enabled=3` and its
|
||||
components stop, but system_server still starts its process after a reboot (~6 MB PSS, measured
|
||||
with `dumpsys meminfo`). Do not expect the process to disappear; the package is still disabled.
|
||||
- Disabling `com.sonyericsson.idd.agent` stops the Java agent, but the native `iddd` and
|
||||
`idd-logreader` daemons (vendor `vendor.semc.system.idd`) keep running. Only root stops those.
|
||||
|
||||
## Validation scope
|
||||
|
||||
Checked over several days of use:
|
||||
|
||||
- APK install, explicit launcher start (`Status: ok`), preferred-Home resolution, Home-key return
|
||||
from Settings and from the input panel;
|
||||
- all 33 disables survived a `svc power reboot` (`pm list packages -d` still showed them);
|
||||
- the kept Dangbei store, HappyCast and Dangbei Home were still enabled;
|
||||
- no new crash appeared in `logcat -b crash` that was attributable to the disabled packages. The
|
||||
boot log does contain pre-existing firmware crashes in `com.sonyericsson.dlna`,
|
||||
`com.android.statementservice` and `com.mediatek.dmagent`, unrelated to this list.
|
||||
|
||||
Not checked: cold boot from mains power-off, actual HDMI input switching, casting, voice input,
|
||||
tuner reception, DRM/Netflix playback, factory reset.
|
||||
|
||||
This report omits the network address, serial numbers, Android ID and account details.
|
||||
@@ -93,6 +93,7 @@ on that firmware, grouped and commented. These are starting points: comment out
|
||||
| `sony-kd-65x9300d/` | Sony BRAVIA KD-65X9300D (2016, SVP-DTV15, MediaTek), Asia-Pacific | Android TV 8.0 | No Samba TV; Sony Select/Discover/BIVL, launcher customizer, Sony/Qterics device agents, SDDP vendorprotocol, tutorials, dead Play Music/Movies; DLNA, USB media, Vewd, Japanese keyboard off by choice; Chromecast, voice, Prime Video, HbbTV kept; 32-bit, 1.5 GB; Inputs lists HDMI 1-4 with CEC names; reboot-checked |
|
||||
| `sony-bravia-tl2/` | Sony BRAVIA TL2 (OD0M_EA_T32, TPV-built, MediaTek), Europe | Android TV 11 | TPV org.droidtv platform like the Philips 50PUS8517, not the usual Sony one: no Samba TV or Sony agents; retail demo, TPV partner auto-installs, Google feedback/Play Games; Prime Video, Disney+, Red Bull TV and preloaded games off by choice; stock tvlauncher off for the launcher; org.droidtv untouched, e-manual only hidden; Assistant, Chromecast, phone remote, updates kept; USB debugging alone opens 5555; ~1.7 GB; reboot-checked |
|
||||
| `sony-bravia-vu31/` | Sony BRAVIA VU31 4K (BRAVIA_VU31_4K, Realtek), India | Google TV 14 | First Realtek Sony list: no Samba/Qterics/IDD agents on this firmware; Sony promos/Select/tab, demo, help; Google feedback/Play Games/partner setup; ambient screensaver (basic dream set first); unused preloads off by choice; Alexa, Chromecast, AirPlay, Assistant kept; USB debugging alone opens 5555; 2 GB; launcher on a second set: setupwraith before launcherx, Live TV/HDMI in com.android.tv, Input key needs no service, applicationdisabler re-enables Eco Dashboard |
|
||||
| `sony-x9000h-cn/` | Sony BRAVIA X9000H (2020, BRAVIA_VH1_CN, MediaTek MT5895), China | Android TV 12 | China firmware with no Samba TV, no Google feedback and no Sony promos/Select/tab, so there is no Sony ACR to remove; Qterics/IDD/da.service, demo/help, no-camera packages, JD SmartService, 13 b2b hotel-mode packages and the kids profile off; Dangbei `ChinaHome` replaced by the reference launcher but kept enabled as fallback; Dangbei app store (应用中心) and HappyCast kept; b2b.hotelmode is persistent and its process still starts at boot; idle `iddd` remains; reboot-checked |
|
||||
| `sony-xbr-x900e/` | Sony BRAVIA XBR-65X900E (2017, BRAVIA_ATV2) | Android TV 9 | Samba TV ACR, Sony Select, My BRAVIA promos, Discover, device agents; Chromecast, DLNA, mirroring off by choice |
|
||||
| `sony-xbr-65x900f/` | Sony BRAVIA XBR-65X900F (2018, BRAVIA_ATV3_4K, MediaTek MT5891), US/Canada | Android TV 9 | Same build as the X900E on the next platform (ATV3); Samba TV, Sony Select/promos/Discover, Google recommendation rows, demo mode, device agents, Alexa setup app; Assistant, mirroring, DLNA, phone remote, USB players off by choice; Chromecast kept; the sponsored banner is the stock launcher's own |
|
||||
| `stellamore-t950s/` | Stellamore T950S projector (Droidlogic be30a3, Amlogic txhd2) | Android 13 | Zeasn App Store and stock launcher both bundle Google Ads (doubleclick); Zeasn device portal/OTA, Stellamore factory/test/guide; 1 GB; keystone correction must stay enabled |
|
||||
@@ -170,6 +171,7 @@ Notes for models that have no tested list yet live in [`docs/devices/`](../docs/
|
||||
- [TCL BeyondTV AP08](../docs/devices/tcl-beyondtv-ap08.md), `RTD2851`, Android TV 9, patch `2021-01-05`: single-session launcher and package-change report, streaming apps/voice/casting preserved, physical remote and casting checked after restart; no several-day debloat list.
|
||||
|
||||
- [Sony XR-75X91K (China firmware)](../docs/devices/sony-xr-75x91k-cn.md), owner-reported retail model, `BRAVIA 4K VH21` / `BRAVIA_VH21`, Android 12: ChinaHome launcher component, preferred-Home handover with stock Home enabled, Sony TV/input routing and explicit validation limits; no tested debloat list.
|
||||
- [Sony X9000H (China firmware)](../docs/devices/sony-x9000h-cn.md), `BRAVIA 4K VH1` / `BRAVIA_VH1`, Android 12 `STT2.230505.001.S89`, MediaTek MT5895: Dangbei `ChinaHome` as stock Home, `set-home-activity` handover with stock Home left enabled, a 33-package reboot-checked list, the persistent `b2b.hotelmode` process, native `iddd` still running, and the absence of Samba/Google feedback/promos on this China build.
|
||||
- [Sony K-85XR70](../docs/devices/sony-k85xr70-ae2.md), `BRAVIA 4K AE2`, Android 14, China, `114.602.170.1`: the UI runs at 1080p on a 4K panel by firmware, and a boot can bring the override density back as 640 (UI doubled and clipped) until `display_density_forced` is written as well as `wm density`; no debloat list.
|
||||
- [FPD CG50-C3](../docs/devices/fpd-cg50-c3.md), KTC-built `EcoTV Pro A` / `FPD_4KHA0`, MediaTek, Google TV 11 `RTM9.241015.016`, Canada: a one-day list, kept as a note for that reason; setupwraith owned a saved network that was not the one in use, so `FORCE_SETUPWRAITH=1` was safe; the RC-36 remote's gear and notifications buttons arrive as scancodes 240/362 with `KEY_UNKNOWN`/`KEY_PROGRAM`, so they need `settings_key_scancodes` rather than a keycode.
|
||||
- [Durabrand DB Android TV 4K `DURAT32ISDB`](../docs/devices/durabrand-durat32isdb.md) (`dupont`, m7332 Haier/CVTE board, Android TV 11 `RTM6.230109.232`): one-day owner report, ten packages, the two the firmware turns back on at every boot, the Input panel belonging to the MediaTek TV app instead of `tvlauncher`, and the hidden production menu that leaves Play services and Chromecast disabled until it is exited by hand.
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
# Sony BRAVIA X9000H (China), device BRAVIA_VH1_CN / product BRAVIA_VH1, MediaTek MT5895
|
||||
# Android 12 (Android TV, API 31), build BRAVIA_VH1_CN-user 12 STT2.230505.001.S89 625561 release-keys
|
||||
# China firmware (ro.com.google.clientidbase=android-sonyfy20-tv): no GMS, no Play Store and no
|
||||
# Google TV launcher. 2.9 GB RAM, armeabi-v7a only, security patch 2025-09-01.
|
||||
#
|
||||
# Apply: TV_HOST=<tv ip> tools/disable.sh examples/sony-x9000h-cn/debloat.txt
|
||||
# Undo: TV_HOST=<tv ip> tools/restore.sh examples/sony-x9000h-cn/debloat.txt com.dangbei.TVHomeLauncher
|
||||
# Everything is DISABLED, not uninstalled. Comment out any line you want to keep.
|
||||
#
|
||||
# Stock launcher/Home:
|
||||
# com.dangbei.TVHomeLauncher/com.dangbei.leard.leradlauncher.ui.sony.main.MainActivity
|
||||
# (当贝桌面 "电视桌面"; system priv-app /system/system_ext/priv-app/ChinaHome.apk)
|
||||
# It is NOT in build-and-install.sh's KNOWN_STOCK_LAUNCHERS, so install the reference launcher with
|
||||
# STOCK_LAUNCHER=none and leave Dangbei enabled as the fallback; `cmd package set-home-activity` was
|
||||
# used explicitly. Home survived a reboot.
|
||||
# Live TV / tuner app: com.sony.dtv.tvx (.MainActivity). Keep com.sony.dtv.tvinput.*, tvapi,
|
||||
# sonysystemservice, sonyvendorservice, settingsprovider, systemupdate/update, braviasync*,
|
||||
# partnerkeycn (enclave/DRM keys), preinappfiltering and all com.mediatek.*: they drive HDMI, the
|
||||
# tuner, DRM, OTA, CEC and the remote.
|
||||
# Kept by owner's choice: com.sony.dangbeimarket (应用中心, the Dangbei app store),
|
||||
# com.hpplay.happyplay.aw (乐播投屏/HappyCast, the only casting path without Google Cast) and
|
||||
# com.dangbei.TVHomeLauncher (fallback Home). Preinstalled content apps (银河奇异果, 芒果TV,
|
||||
# NewTV极光, 央视频TV, CIBN酷喵, 油桃TV) are not listed either; disable them individually if unused.
|
||||
# Already disabled at the factory: com.sony.dtv.mysony, livingfit, iot, b2b.vendorprotocol, b2b.softap.
|
||||
#
|
||||
# Quirks on this firmware:
|
||||
# - There is no tv.samba.ssm, no com.google.android.feedback and no
|
||||
# com.sony.dtv.promos/sonyselect/sonytab. The Sony ACR/ad-ID stack is absent on this China build;
|
||||
# ad surfaces are the Dangbei home/store, HappyCast and the preinstalled content apps.
|
||||
# - com.sony.dtv.b2b.hotelmode is PERSISTENT: pm disable-user marks it disabled and its components
|
||||
# stop, but system_server still starts the process at boot (~6 MB PSS). Reboot-checked.
|
||||
# - com.sonyericsson.idd.agent can be disabled, but the native iddd / idd-logreader daemons
|
||||
# (vendor.semc.system.idd) keep running; only root stops them.
|
||||
# - KEYCODE_TV_INPUT opens the system input panel without the launcher's InputKeyService.
|
||||
# - ro.product.model / ro.product.device report "BRAVIA VH1"/"BRAVIA_VH1"; only the fingerprint and
|
||||
# build display id carry the _CN suffix.
|
||||
# - Reboot-checked and used for several days without issues. If something breaks,
|
||||
# `pm enable <package>` and please open an issue.
|
||||
|
||||
# telemetry and remote support
|
||||
com.qterics.da.product # Qterics device agent
|
||||
com.sony.dtv.da.service # remote-support session service
|
||||
com.sonyericsson.idd.agent # Sony IDD usage-data agent
|
||||
com.sony.dtv.usercontext # user context providers, boot receiver only
|
||||
com.sony.dtv.sonybugreportsys # Sony bug-report/log uploader
|
||||
|
||||
# demo / shop mode
|
||||
com.sony.dtv.demosupport
|
||||
com.sony.dtv.demosystemsupport
|
||||
com.sony.dtv.multiscreendemo
|
||||
|
||||
# help content: the Settings help tiles disappear
|
||||
com.sony.dtv.customersupport
|
||||
com.sony.dtv.smarthelp
|
||||
com.sony.dtv.helpguidecontents
|
||||
|
||||
# no camera on this model (BRAVIA CAM / sensing camera)
|
||||
com.sony.dtv.gestureapp
|
||||
com.sony.dtv.sensingcamera.fwupdate
|
||||
com.sony.dtv.sensingcamera.settings
|
||||
com.sony.dtv.sensingfusionservice
|
||||
com.sony.dtv.videochatrecord
|
||||
|
||||
# features the owner did not use
|
||||
com.sony.dtv.distancealert
|
||||
com.sony.dtv.ecodashboard
|
||||
|
||||
# China-only bloat
|
||||
com.jd.smartservicetwo # JD SmartService
|
||||
|
||||
# hotel / B2B mode (consumer set; 13 packages)
|
||||
com.sony.dtv.b2b.adminpassword
|
||||
com.sony.dtv.b2b.deviceadminsettings
|
||||
com.sony.dtv.b2b.frameworkextension
|
||||
com.sony.dtv.b2b.hotelmode # PERSISTENT process survives a reboot; components disabled
|
||||
com.sony.dtv.b2b.importexport
|
||||
com.sony.dtv.b2b.ipcontrolsettings
|
||||
com.sony.dtv.b2b.noderuntime.normal
|
||||
com.sony.dtv.b2b.noderuntime.privilege
|
||||
com.sony.dtv.b2b.noderuntimeextension.bpk
|
||||
com.sony.dtv.b2b.noderuntimeextension.node_20_11_1
|
||||
com.sony.dtv.b2b.prosettings
|
||||
com.sony.dtv.b2b.rs232csupport
|
||||
com.sony.dtv.b2b.webappruntimedrm
|
||||
|
||||
# kids profile
|
||||
com.sony.dtv.kidsprofileadapter
|
||||
Reference in new issue
Block a user