cobanov

نظّف تلفزيون Android TV

بدون روتقابل للتراجع ١٠٠٪

إذا صار تلفزيونك بطيئًا، يمكنك تعطيل تطبيقات المصنع التي لا تستعملها أبدًا. في الأسفل تحضير من أربع خطوات، والمطالبة التي تسلّمها لوكيل ذكاء اصطناعي. لا يُحذف شيء، وكل خطوة قابلة للتراجع. ويندوز أو ماك أو لينكس، لا فرق.

التحضير

  1. فعّل خيارات المطوّر

    على التلفزيون، اذهب إلى الإعدادات ← النظام ← حول واضغط زر OK في جهاز التحكم سبع مرات على سطر رقم الإصدار.

  2. فعّل تصحيح الأخطاء

    الإعدادات ← النظام ← خيارات المطوّر ← تصحيح أخطاء USB. وإن وُجد خيار منفصل باسم «تصحيح الأخطاء اللاسلكي» فعّله أيضًا.

  3. اعرف عنوان IP للتلفزيون

    الإعدادات ← الشبكة والإنترنت ← الحالة. دوّن الرقم الذي يبدأ بـ 192.168. ويجب أن يكون حاسوبك على الشبكة نفسها مع التلفزيون: نفس شبكة Wi-Fi أو نفس الموجّه.

  4. افتح Claude Code أو Codex والصق المطالبة

    انسخ النص أدناه، واستبدل موضعَي اكتب هنا بطراز تلفزيونك وعنوان IP الخاص به، ثم سلّمه للوكيل. الباقي عليه: تثبيت الأداة، الاتصال بالتلفزيون، وإتمام التنظيف. يتحقّق من كل تغيير على التلفزيون نفسه بصور للشاشة، ولا يتوقّف إلا ليسألك عمّا لا يستطيع رؤيته: الصوت، وجهاز التحكم، والتطبيقات التي تستعملها.

المطالبة

prompt.txt
أريد منك أن تنظّف تلفزيون Android TV الخاص بي عبر ADB. الهدف: التخلّص من صفوف
الإعلانات والتوصيات، وتعطيل تطبيقات المصنع التي لا أستعملها، وجعل التلفزيون
أسرع. نفّذ الأوامر بنفسك، وتحقّق من كل تغيير على التلفزيون نفسه، واشرح لي
بلغة بسيطة ما تفعله أولًا بأول.

تلفزيوني
- الماركة / الطراز: اكتب هنا
  (مثال: TCL Smart TV Pro)
- عنوان IP للتلفزيون: اكتب هنا
  (التلفزيون > الإعدادات > الشبكة والإنترنت > الحالة)
- «خيارات المطوّر» و«تصحيح أخطاء USB / التصحيح اللاسلكي» مفعّلة بالفعل،
  وحاسوبي والتلفزيون على الشبكة نفسها.

القواعد (التزم بها حرفيًا)
1. لا تحذف أي حزمة. استخدم فقط `pm disable-user --user 0` حتى يمكن التراجع عن
   كل شيء بـ `pm enable <الحزمة>`. الأمر `pm uninstall` ممنوع.

2. لا تقترح ولا تجرّب الروت أو فتح الـ bootloader أو تركيب رومات مخصّصة. هذا
   يعيد التلفزيون إلى إعدادات المصنع، وإذا هبطت شهادة Widevine من L1 إلى L3
   فسينزل Netflix إلى دقة SD. لا مكسب في ذلك إطلاقًا.

3. انسخ احتياطيًا وقِس أولًا. قبل أن تغيّر أي شيء، احفظ في مجلّد
   `tv-debloat` مخرجات: `pm list packages -f` و `pm list packages -d` و
   `getprop` و `settings list global` و `settings list secure` و
   `settings list system` و `dumpsys meminfo`. وابدأ فورًا سكربت استعادة
   (`restore.sh`، أو `restore.ps1` على Windows) وأضف إليه كل حزمة لحظة
   تعطيلها. وكرّر قياس الذاكرة في النهاية، وأعطني جدول «قبل وبعد».

4. تحقّق من عملك بنفسك على التلفزيون. بعد كل دفعة، اضغط الأزرار بالأمر
   `adb shell input keyevent` (الرئيسية، الأسهم، رجوع، المصادر/المدخلات)،
   والتقط صورة للشاشة بالأمر `adb exec-out screencap -p > screen.png`
   وانظر إليها: هل تظهر الشاشة الرئيسية؟ هل تُفتح قائمة المصادر؟ هل يمكن
   التبديل إلى HDMI؟ هل ما يزال Netflix و YouTube يعملان؟ أصلح ما تراه قبل
   أن تتابع. وإذا خرجت الصورة سوداء والبث المباشر أو HDMI على الشاشة، فاضغط
   زر الرئيسية أولًا. لا تسألني إلا عمّا لا تُظهره الصورة: الصوت، وأزرار
   جهاز التحكم، ولوحة المفاتيح على الشاشة.

5. دفعات صغيرة، وأمر واحد في كل مرة. عطّل 10 حزم كحدّ أقصى في الدفعة. نفّذ
   كل أمر `pm` في استدعاء shell مستقل، فالأوامر المتسلسلة قد تتوقف بصمت بعد
   الأمر الأول. إذا تعطّل شيء، أعِد أولًا تفعيل الدفعة الأخيرة كاملة، ثم
   ضيّق البحث حزمة حزمة.

6. لا تعطّل أبدًا ما يحتاجه التلفزيون ليعمل، أيًّا كانت الماركة:
   - تطبيق التلفزيون وخدمات المدخلات التي تشغّل HDMI والهوائي/الموالف
   - قائمة المصادر/المدخلات («اللوحة السريعة» الخاصة بالماركة)
   - خدمات جهاز التحكم واقتران البلوتوث
   - لوحة المفاتيح على الشاشة (‎*.inputmethod.*)
   - متجر Play وخدمات Play: com.android.vending و
     com.google.android.gms و com.google.android.gsf
   - com.android.location.fused: تعطيلها يُدخل التلفزيون في حلقة إقلاع
   - الشاشة الرئيسية الحالية، حتى تُثبَّت شاشة جديدة وتُعيَّن افتراضية
   كثيرًا ما لا يدلّ اسم الحزمة على وظيفتها. قبل أن تعطّل حزمة لست متأكدًا
   منها، انظر إلى أنشطتها وخدماتها بالأمر `dumpsys package <الاسم>`. وإن
   بقي الأمر غامضًا فاسألني.
   أفخاخ معروفة على TCL، على سبيل المثال:

   com.tcl.suspension
       قائمة المصادر/المدخلات في جهاز التحكم. يبدو الاسم بلا معنى، لكن
       تعطيله يمنعك من التبديل إلى HDMI.

   com.tcl.ttvs
       تحديثات النظام (عبر الشبكة / USB). يوحي الاسم بأنها خدمة لتحويل النص
       إلى كلام (TTS)، لكن تعطيله يجعل خيارات قائمة التحديث تتوقف عن
       الاستجابة دون أي رسالة خطأ.

   com.tcl.tv و com.tcl.tvinput
       خدمات مدخلات HDMI والهوائي.

   com.tcl.providers.config
   com.tcl.initsetup
       تعطيل أيٍّ منهما يقطع اتصال Wi-Fi.

   com.google.android.tv.remote.service
   com.tcl.tcl_bt_rcu_service
   com.tcl.autopair
       جهاز التحكم عن بُعد.

7. اسألني قبل أي شيء يعتمد عليّ. تطبيقات البث، والمساعد الصوتي، و
   Chromecast، وعكس الشاشة، وخدمة تحديث النظام: اعرض عليّ قائمة للتأشير،
   ولا تعطّل إلا ما لا أؤشّر عليه.

8. احتفظ بسجلّ. اكتب كل حزمة تعطّلها في `disabled.txt` داخل مجلّد
   `tv-debloat`. واحتفظ في المجلّد نفسه بملف `DEBLOAT-LOG.md` تذكر فيه ماذا
   فعلت ولماذا، والأمر الدقيق للتراجع عن كل تغيير.

نفّذ بهذا الترتيب
أ) تحقّق مما إذا كان `adb` مثبّتًا، وثبّته إن لم يكن كذلك. انظر أي نظام تشغيل
   أستعمل واختر الطريق المناسب: على Windows نزّل حزمة platform-tools من Google
   وأضفها إلى PATH، وعلى macOS استعمل `brew install android-platform-tools`،
   وعلى Linux استعمل `apt install adb`. ثم اتصل بالأمر
   `adb connect <IP>:5555`. سيعرض التلفزيون سؤال «هل تسمح بتصحيح الأخطاء من
   هذا الحاسوب؟» فأخبرني كي أوافق. وفي Android 11 فما فوق، إذا طلب التلفزيون
   رمز اقتران في شاشة «التصحيح اللاسلكي» فاستعمل `adb pair` أولًا.
   - على macOS، إذا قال adb «No route to host» مع أن المنفذ مفتوح، فإن
     إعداد الخصوصية «الشبكة المحلية» في macOS هو ما يحجبه. لا تضيّع الوقت
     في تتبّعه: استعمل حزمة Python ‏`adb-shell` داخل venv عميلًا لـ ADB.
   - اسألني عمّا هو موصول بمنافذ USB في التلفزيون. بعض أجهزة التلفزيون تقطع
     الطاقة عن هذه المنافذ ما دام تصحيح أخطاء USB مفعّلًا، فيتوقف مكبّر صوت
     أو قرص USB عن العمل.

ب) انسخ احتياطيًا وخذ القياسات (القاعدة 3).

ج) ابحث عن قائمة جاهزة: إن كان في github.com/Gathin23/cleanyourtv داخل
   `examples/` مجلّد لطرازي أو لطراز قريب منه، فاقرأ ملف `debloat.txt`
   والملاحظات في أعلاه واتّخذه نقطة بداية. ومع ذلك افحص كل حزمة على
   تلفزيوني وفق القاعدة 6.

د) وزّع الحزم في جدول واعرضه عليّ:
   (1) القياس عن بُعد، وتتبّع الإعلانات (ACR مثل Samba TV و Alphonso و
       Anoki)، وتحليلات الشركة المصنّعة؛
   (2) خدمات الإعلانات والمحتوى لدى الشركة المصنّعة: صفوف التوصيات،
       وخلاصات المحتوى، ووضع العرض في المتاجر؛
   (3) خدمات خلفية لا أحتاجها على الأرجح: خدمات بث ومشاركة مكرّرة،
       وتطبيقات التنظيف؛
   (4) التطبيقات المثبّتة مسبقًا؛
   (5) تعتمد عليّ (القاعدة 7)؛
   (6) لا تُمَس (القاعدة 6).
   خذ موافقتي ثم ابدأ بالمجموعتين 1 و 2.

هـ) اخفض سرعة الحركات إلى النصف:
      settings put global window_animation_scale 0.5
      settings put global transition_animation_scale 0.5
      settings put global animator_duration_scale 0.5

و) نظّف الذاكرة المؤقتة بالأمر `pm trim-caches 999G`.

ز) أعد تشغيل التلفزيون، وتحقّق منه بصورة للشاشة، وكرّر القياسات.

بدّل الشاشة الرئيسية
شاشة Google TV الرئيسية مليئة بالإعلانات وصفوف «مُقترح لك». أريد بدلًا منها
استعمال FLauncher (موجود في متجر Play، مجاني ومفتوح المصدر، ولا يعرض سوى شبكة
من تطبيقاتي).
- اطلب مني أولًا تثبيت FLauncher، وتأكّد من أنه مثبّت.
- اعرض التطبيقات التي تطالب بأن تكون الشاشة الرئيسية:
     cmd package query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
  عيّن FLauncher افتراضيًا بالأمر `cmd package set-home-activity`، أو
  اطلب مني اختياره على التلفزيون.
- على Google TV قد يستعيد معالج الإعداد
  (com.google.android.tungsten.setupwraith) الشاشة الرئيسية حتى بعد تعطيل
  الأصلية. تحقّق بعد إعادة التشغيل، وإن حدث ذلك فعطّله هو أيضًا.
- وعندها فقط عطّل المشغّل الأصلي: com.google.android.apps.tv.launcherx على
  Google TV، و com.google.android.tvlauncher على Android TV.
- أعد تشغيل التلفزيون وتأكّد بصورة للشاشة من أن الشاشة الرئيسية ما تزال
  FLauncher.
- إذا علِق `adb install` على Android 14 فهو ينتظر تأكيدًا على التلفزيون:
  انقل ملف APK إلى التلفزيون وثبّته من الـ shell بالأمر `pm install -r`.

عند الانتهاء أعطني
1. جدول الذاكرة قبل وبعد.
2. قائمة الحزم التي عطّلتها، مع سطر واحد لكل منها يشرح ما كانت.
3. سكربت الاستعادة، وأمرًا واحدًا يتراجع عن كل شيء.
4. تذكيرًا بإيقاف تصحيح أخطاء USB إذا توقف عن العمل شيء موصول بمنافذ USB في
   التلفزيون.

تستفيد هذه المطالبة من دروس مشروع cleanyourtv، الذي يضم أيضًا قوائم جاهزة لطرازات تلفزيون كثيرة.

أربعة تحذيرات

لا تعطّل حزمة لا تعرف وظيفتها من اسمها على تلفزيوني، أدّى تعطيل com.tcl.suspension إلى تعطّل زر «المصادر» في جهاز التحكم فلم أعد أستطيع التبديل إلى HDMI. تبيّن أنه قائمة اختيار المدخل. وفي بعض طرازات TCL تقطع com.tcl.providers.config و com.tcl.initsetup اتصال Wi-Fi بالطريقة نفسها.

لا تعطّل الشاشة الرئيسية قبل تثبيت بديل لها ثبّت FLauncher أولًا واجعله الافتراضي. عندها فقط عطّل المشغّل القديم. وإلا ستحصل على شاشة سوداء.

لا تعمل روت فتح الـ bootloader يعيد التلفزيون إلى إعدادات المصنع، وإذا هبط Widevine إلى المستوى L3 فسينزل Netflix إلى دقة SD. لا مكسب في ذلك: disable-user يفعل أصلًا ما كان الروت سيفعله.

أوقف تصحيح أخطاء USB عند الانتهاء بعض أجهزة التلفزيون تقطع الطاقة عن منافذ USB ما دام التصحيح مفعّلًا. إذا توقف مكبّر صوت أو قرص USB عن العمل، فأوقف تصحيح أخطاء USB من خيارات المطوّر.

التراجع عن كل شيء

لأن شيئًا لم يُحذف، يمكن التراجع عن كل خطوة. الوكيل يحتفظ بقائمة ما عطّله، فيكفي أن تقول له: «أعد تفعيل كل ما عطّلته».

ولإعادة تفعيل تطبيق واحد بنفسك:

الطرفية
adb shell pm enable com.tcl.suspension