استهلاك health@1.0

سيستمر إطار العمل في العمل مع 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 أيضًا بإزالة ما يلي:

  1. التبعية healthd في الإطار
  2. healthd
  3. مكتبة تعريف health@1.0 HAL من النظام
  4. إدخال health@1.0 في مصفوفة توافق الإطار

إزالة الصحة

بالنسبة للأجهزة التي يتم تشغيلها باستخدام Android 9 والأجهزة التي يتم ترقيتها إلى Android 9 والتي توفر Health 2.0 HAL في صورة البائع الجديدة، نوصي بإزالة healthd من صورة النظام لتوفير مساحة القرص وتسريع وقت التمهيد.

لنفعل ذلك:

  1. قم بإزالة 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 الخاص بالجهاز بدلاً من ذلك. لمزيد من المعلومات، راجع تنفيذ الصحة .