سيستمر إطار العمل في العمل مع health@1.0 حتى يتم إهماله بالكامل وفقًا لجدول إهمال HAL القياسي. عندما يتم إهمال health@1.0 (تمت إزالة الإدخال من مصفوفة توافق إطار العمل )، يجب أيضًا إزالة healthd
و libbatterymonitor
من النظام لتجنب السلوكيات غير المعروفة لـ healthd. نظرًا لأن health@1.0 هو HAL اختياري وجميع تبعيات healthd
إلى health@1.0 محمية بواسطة اختبارات NULL، فلا ينبغي أن ينقطع أي شيء عند الإهمال.
عندما يقوم Android بإزالة مسار التعليمات البرمجية القديم (healthd، health@1.0)، يتم إهمال Health@1.0 HAL وفقًا لجدول الإيقاف. بالإضافة إلى ذلك، يقوم Android أيضًا بإزالة ما يلي:
- التبعية healthd في الإطار
- healthd
- مكتبة تعريف health@1.0 HAL من النظام
- إدخال health@1.0 في مصفوفة توافق الإطار
إزالة healthd
بالنسبة للأجهزة التي يتم تشغيلها باستخدام Android 9 والأجهزة التي يتم ترقيتها إلى Android 9 والتي توفر Health 2.0 HAL في صورة البائع الجديدة، نوصي بإزالة healthd
من صورة النظام لتوفير مساحة القرص وتسريع وقت التمهيد.
لنفعل ذلك:
قم بإزالة
healthd
وhealthd.rc
من صورة النظام عن طريق إضافة السطر التالي إلى التنفيذ الخاص بالجهاز في Soong:cc_binary { name: "android.hardware.health@2.0-service.device_name" overrides: ["healthd"], // ... }
أو، إذا كانت الوحدة في Make:
LOCAL_MODULE_NAME := \ android.hardware.health@2.0-service.device_name LOCAL_OVERRIDES_MODULES := healthd
إذا تم تثبيت التطبيق الافتراضي
android.hardware.health@2.0-service
، فقم بتنفيذandroid.hardware.health@2.0-service.device_name
الخاص بالجهاز بدلاً من ذلك. لمزيد من المعلومات، راجع تنفيذ الصحة .