Xiaomi Mi Box S · MDZ-22-AB · Android TV 9

ADB ile reklamları, gereksiz servisleri ve ağır ana ekranı temizleme

Bu sayfa, ErenGK tarafından gerçek bir Xiaomi Mi Box S üzerinde uygulanıp test edilen debloat ve hızlandırma sürecinin teknik dökümüdür. Amaç cihazı rootlamadan, bootloader açmadan ve sistem APK’larını silmeden daha hafif, daha sade ve geri alınabilir bir kurulum oluşturmaktı.

FLauncherADBAndroid TV 9Geri alınabilir sistem değişiklikleriCast korundu

Sonuç: ne değişti?

Kullanılabilir RAM
~1.03 GB
Final ölçüm: MemAvailable 1,077,876 kB
Kullanıcı depolaması
1.9 GB boş
/data: 5.0 GB toplam, %61 kullanım.
FLauncher PSS
~54 MB
Final ölçüm. Ara ölçümde ~80 MB civarındaydı.
Pratik sonuç: Ana ekran FLauncher’a geçti; Google TV/Android TV recommendation katmanı, Xiaomi analytics, Assistant, ekran koruyucular ve kullanılmayan sistem uygulamaları kapatıldı. YouTube, Netflix, ses, klavye, Bluetooth kumanda ve Chromecast/Cast çalışmaya devam etti.
Ölçüm notu: İşlem başlamadan önce tam sistem dumpsys meminfo snapshot’ı dosyaya alınmadığı için dürüst bir “önce/sonra toplam RAM” yüzdesi vermek mümkün değil. Bu nedenle yalnızca doğrulanmış final değerleri ve süreç içindeki ara ölçümler gösteriliyor.

İçindekiler

1. ADB kurulumu ve Mi Box’a bağlanma

Mi Box’ta Geliştirici Seçenekleri açıldı, USB hata ayıklama etkinleştirildi ve cihaz ile Mac aynı ağda kullanıldı. IP adresini kendi ağınızdan bulun; özel IP adresini internette paylaşmayın.

brew install android-platform-tools
adb version
adb connect <MI_BOX_IP>:5555
adb devices

Android 11+ cihazlarda Wireless Debugging eşleştirmesi gerekiyorsa adb pair kullanılabilir. Bu cihaz Android TV 9 olduğu için klasik :5555 bağlantısı yeterliydi.

2. Önce ölç, sonra değiştir

Debloat işleminde en güvenli yaklaşım, önce cihazın gerçek paket listesini görmek ve paketleri marka/model özelinde değerlendirmektir.

adb shell getprop ro.product.model
adb shell getprop ro.build.version.release
adb shell getprop ro.build.version.sdk
adb shell getprop ro.build.fingerprint

adb shell pm list packages -s
adb shell pm list packages -3
adb shell pm list packages -d
adb shell dumpsys meminfo
adb shell df -h

Test edilen cihaz

Model: MIBOX4 / MDZ-22-ABAndroid: 9SDK: 28Build: PI.3933

Neden paket listesi şart?

İnternetteki TCL, Chromecast veya başka marka debloat listelerini aynen uygulamak risklidir. Aynı işlev farklı cihazlarda farklı package adıyla gelebilir.

3. FLauncher: stok launcher’ı kapatmadan önce alternatif HOME

En kritik kural: Alternatif launcher kurulmadan stok HOME paketini devre dışı bırakmayın. Aksi halde siyah/boş ana ekranla kalabilirsiniz.

Bu Mi Box’ta aktif HOME paketi şu komutla bulundu:

adb shell cmd package resolve-activity --brief \
  -a android.intent.action.MAIN \
  -c android.intent.category.HOME

Çıktı:

com.google.android.tvlauncher/.MainActivity

FLauncher kurulduktan sonra paket/activity doğrulandı:

adb shell pm list packages -3 | grep -i flauncher
adb shell cmd package query-activities \
  -a android.intent.action.MAIN \
  -c android.intent.category.HOME

Bu cihazda set-home-activity komutu “Success” dönmesine rağmen Xiaomi/Google stok launcher önceliğini bırakmadı. Bu nedenle FLauncher çalıştığı doğrulandıktan sonra stok launcher geri alınabilir biçimde kapatıldı:

adb shell am start -n me.efesser.flauncher/.MainActivity
adb shell pm disable-user --user 0 com.google.android.tvlauncher
adb shell am start -n me.efesser.flauncher/.MainActivity

Son kontrol:

adb shell cmd package resolve-activity --brief \
  -a android.intent.action.MAIN \
  -c android.intent.category.HOME

adb shell dumpsys activity activities | grep mResumedActivity

Finalde HOME: me.efesser.flauncher/.MainActivity

4. Animasyonları 0.5x yapma ve cache budama

Bu işlem işlemciyi hızlandırmaz; arayüz geçişlerinin bekleme süresini yarıya indirerek cihazın daha seri hissettirmesini sağlar.

adb shell settings put global window_animation_scale 0.5
adb shell settings put global transition_animation_scale 0.5
adb shell settings put global animator_duration_scale 0.5

Kontrol:

adb shell settings get global window_animation_scale
adb shell settings get global transition_animation_scale
adb shell settings get global animator_duration_scale

Cache:

adb shell pm trim-caches 1G

5. Devre dışı bırakılan sistem paketleri

Sistem uygulamalarında silme yapılmadı. Yalnızca pm disable-user --user 0 kullanıldı. Böylece tek komutla geri açılabilirler.

PaketNe olduğu / neden kapatıldı?Durum
com.google.android.tvlauncherStok Android TV ana ekranı. FLauncher devraldıktan sonra kapatıldı.Disabled
com.google.android.tvrecommendationsÖneri/recommendation satırlarının altyapısı.Disabled
com.miui.tv.analyticsXiaomi TV analytics/telemetri servisi; foreground service olarak RAM’de çalışıyordu.Disabled
com.google.android.katnissGoogle Assistant / sesli arama. Kullanılmadığı ve cihazda ağır çalıştığı için kapatıldı.Disabled
com.google.android.backdropGoogle ekran koruyucu / backdrop.Disabled
com.google.android.feedbackGoogle geri bildirim bileşeni.Disabled
com.google.android.tv.bugreportsenderAndroid TV bug report gönderici.Disabled
com.google.android.onetimeinitializerGoogle ilk kurulum sonrası tek seferlik initializer.Disabled
com.android.onetimeinitializerAndroid ilk kurulum initializer.Disabled
com.xiaomi.android.tvsetup.partnercustomizerXiaomi/partner setup özelleştirme bileşeni.Disabled
com.google.android.tungsten.setupwraithAndroid TV setup/fallback bileşeni.Disabled
com.google.android.play.gamesGoogle Play Games; kullanılmıyordu.Disabled
com.google.android.videosGoogle Play Movies/TV; kullanılmıyordu.Disabled
com.google.android.youtube.tvmusicYouTube Music TV; kullanılmıyordu.Disabled
com.amazon.amazonvideo.livingroomPrime Video sistem uygulaması; kullanılmıyordu.Disabled
com.mitv.videoplayerXiaomi yerleşik video oynatıcı; ihtiyaç yoktu.Disabled
tv.alphonso.alphonso_eulaAlphonso EULA / içerik tanıma ilişkili bileşen.Disabled
com.google.android.speech.pumpkinGoogle offline speech / voice stack parçası.Disabled
com.android.printspoolerYazdırma servisi; TV’de ihtiyaç yok.Disabled
com.android.dreams.basicAndroid temel screensaver/dream bileşeni.Disabled
com.google.android.syncadapters.contactsGoogle kişi senkronizasyon adaptörü.Disabled
com.google.android.syncadapters.calendarGoogle takvim senkronizasyon adaptörü.Disabled
com.android.wallpaperbackupDuvar kağıdı yedekleme.Disabled
com.android.backupconfirmAndroid backup onay bileşeni.Disabled
android.autoinstalls.config.xioami.mibox3Xiaomi otomatik ön yükleme konfigürasyonu.Disabled
com.google.android.marvin.talkbackTalkBack ekran okuyucu; kullanılmıyordu.Disabled
com.google.android.ttsGoogle Text-to-Speech; bu kullanımda gerekli değildi.Disabled
com.google.android.tvLive Channels; tuner olmayan Mi Box’ta kullanılmıyordu.Disabled
com.xm.webcontentXiaomi web içerik bileşeni.Disabled
com.mitv.download.serviceXiaomi içerik/indirme servisi.Disabled
com.mitv.tvhome.michannelMi Channel / içerik kanalları.Disabled
com.mitv.tvhome.atvXiaomi TV Home entegrasyonu; FLauncher sonrasında ihtiyaç kalmadı.Disabled
com.android.htmlviewerBasit HTML görüntüleyici; günlük TV kullanımında gereksiz.Disabled

6. Kullanılmayan kullanıcı uygulamalarını gerçekten silme

Burada sistem paketlerinden farklı bir yaklaşım uygulandı. pm list packages -3 altında görünen ve sonradan kurulmuş, artık kullanılmayan uygulamalar adb uninstall ile kaldırıldı. Bu sayede 8 GB’lık cihazda kullanıcı depolaması da geri kazanılıyor.

Kaldırılan örnekler

AirCastPigeonCastNero SwiftLinkAirScreenBADLANDAirConsoleDisney+rbtvTikTok

Kalan kullanıcı uygulamaları

SpotifyTCL BrowserFLauncherKickTwitchTV+SoundCloudFile Manager
adb uninstall <PACKAGE_NAME>

Not: Bu yöntem yalnızca sonradan yüklenen uygulamalarda kullanıldı. Sistem APK’larında uninstall yapılmadı.

7. Bilerek korunan kritik paketler

Debloat’ın başarısı yalnızca neyi kapattığınız değil, neyi kapatmadığınızla da ilgilidir.

PaketNeden korundu?Durum
com.google.android.gmsGoogle Play Services; uygulama altyapısı ve kimlik doğrulama.Korundu
com.google.android.gsfGoogle Services Framework.Korundu
com.android.vendingPlay Store.Korundu
com.android.location.fusedSistem konum altyapısı; kritik sistem bileşeni olarak bırakıldı.Korundu
com.google.android.inputmethod.latinEkran klavyesi.Korundu
com.android.bluetoothBluetooth ve kumanda bağlantıları.Korundu
com.google.android.tv.remote.serviceAndroid TV Remote/kumanda servisleri.Korundu
com.netflix.ninjaNetflix sistem uygulaması ve sertifikalı playback akışı.Korundu
com.google.android.youtube.tvYouTube.Korundu
com.google.android.apps.mediashellChromecast built-in / Google Cast tarafı. Telefonlardan medya gönderimi için kritik.Korundu
com.mitv.milinkserviceXiaomi bağlantı/mirroring entegrasyonu olabileceği için risk/getiri oranı düşük görüldü.Korundu
com.xiaomi.mitv.updateserviceOTA/system update servisi; ~33 MB PSS görmesine rağmen güvenlik açısından açık bırakıldı.Korundu

8. Performans ölçümleri

Final /proc/meminfo

MemTotal:      2034840 kB
MemFree:        179040 kB
MemAvailable:  1077876 kB
Cached:         999312 kB

Android/Linux boş RAM’i cache olarak kullanır. Bu nedenle yalnızca MemFree değil, özellikle MemAvailable dikkate alınmalıdır.

Launcher dönüş testi

ThisTime:  88–90 ms
TotalTime: 88–90 ms
WaitTime:  112–113 ms

YouTube’dan HOME intent’i ile FLauncher task’ını öne getirme testi. Launcher zaten RAM’de tutulduğu için geri dönüş yaklaşık 0.1 saniye seviyesindeydi.

Finalde en yüksek PSS kullanan bazı süreçler
SoundCloud                 ~137 MB
Netflix                    ~131 MB
Google Play Services       ~73 MB
FLauncher                  ~54 MB
Play Store                 ~55 MB
Chromecast mediashell      ~40 MB
YouTube                    ~24 MB
Spotify                    ~22 MB

9. Geri alma / rollback

Bir sistem paketini geri açmak:

adb shell pm enable <PACKAGE_NAME>

Stok launcher’ı geri getirmek:

adb shell pm enable com.google.android.tvlauncher
adb shell am start -n com.google.android.tvlauncher/.MainActivity
Bu rehberde kapatılan sistem paketlerini tek komut bloğuyla geri aç
for p in \
com.xiaomi.android.tvsetup.partnercustomizer \
com.google.android.katniss \
com.google.android.onetimeinitializer \
com.android.htmlviewer \
com.google.android.backdrop \
com.google.android.tungsten.setupwraith \
android.autoinstalls.config.xioami.mibox3 \
com.xm.webcontent \
com.mitv.download.service \
tv.alphonso.alphonso_eula \
com.google.android.marvin.talkback \
com.google.android.speech.pumpkin \
com.mitv.tvhome.atv \
com.android.backupconfirm \
com.google.android.tv \
com.amazon.amazonvideo.livingroom \
com.android.printspooler \
com.mitv.videoplayer \
com.android.dreams.basic \
com.google.android.tvrecommendations \
com.google.android.tvlauncher \
com.android.onetimeinitializer \
com.google.android.syncadapters.contacts \
com.google.android.youtube.tvmusic \
com.google.android.tts \
com.google.android.videos \
com.google.android.feedback \
com.google.android.syncadapters.calendar \
com.google.android.tv.bugreportsender \
com.miui.tv.analytics \
com.android.wallpaperbackup \
com.mitv.tvhome.michannel \
com.google.android.play.games; do
  adb shell pm enable "$p"
done

10. Güvenlik kuralları

Root yok

Bootloader açma, custom ROM veya root bu işlem için gerekli değil. Sertifikasyon/DRM riskine değmez.

Küçük batch

Paketleri 10’dan küçük gruplarla kapatın; her gruptan sonra kumanda, ses, klavye, Netflix, YouTube ve Cast test edin.

Marka/model özelinde

Paket adları cihazdan cihaza değişir. Bir paketin görevinden emin değilseniz kapatmayın.

Kaynaklar

Başlangıç yaklaşımı: tv.cobanov.dev — Clean up your Android TV. Sayfa; ölçüm alma, disable-user kullanma, küçük batch’lerle ilerleme, alternatif launcher’ı önce kurma ve rollback kaydı tutma prensiplerini öneriyor.

FLauncher: orijinal FLauncher projesi / GitHub fork. Açık kaynak Android TV launcher.

Bu rehber, yukarıdaki kaynakların birebir kopyası değildir; Xiaomi Mi Box S MDZ-22-AB üzerinde gerçek paket listesi ve gerçek test sonuçlarıyla uyarlanmış uygulama notudur.

Son söz

Final kurulum: FLauncher ana ekran, 0.5x animasyonlar, gereksiz öneri/telemetri/Assistant bileşenleri kapalı, kullanılmayan üçüncü taraf uygulamaları silinmiş, Cast ve temel Android TV servisleri aktif. Cihaz test sonunda hızlı ve işlevsel çalıştı.