यह फ़्रेमवर्क, तब तक health@1.0 के साथ काम करता रहेगा, जब तक इसे HAL के बंद होने के शेड्यूल के मुताबिक पूरी तरह से बंद नहीं कर दिया जाता.
जब health@1.0 का इस्तेमाल बंद कर दिया जाता है (फ़्रेमवर्क के साथ काम करने की जानकारी देने वाली मैट्रिक्स से एंट्री हटा दी जाती है), तो healthd
और libbatterymonitor
को भी सिस्टम से हटा दिया जाना चाहिए, ताकि healthd के गलत काम करने से बचा जा सके. health@1.0 एक वैकल्पिक एचएएल है और health@1.0 की सभी healthd
डिपेंडेंसी, NULL जांच की मदद से सुरक्षित हैं. इसलिए, इसे बंद करने पर कोई समस्या नहीं होनी चाहिए.
जब Android, लेगसी कोड पाथ (healthd,health@1.0) को हटा देता है, तो Health@1.0 HAL को काम रोकने वाले शेड्यूल के हिसाब से बंद कर दिया जाता है. इसके अलावा, Android ये चीज़ें भी हटा देता है:
- फ़्रेमवर्क में healthd डिपेंडेंसी
- healthd
- सिस्टम से health@1.0 HAL डेफ़िनिशन लाइब्रेरी
- फ़्रेमवर्क कंपैटबिलिटी मैट्रिक्स में Health@1.0 की एंट्री
healthd को हटाना
हमारा सुझाव है कि Android 9 के साथ लॉन्च होने वाले डिवाइसों और नई वेंडर इमेज में Health 2.0 HAL उपलब्ध कराने वाले डिवाइसों के लिए, डिस्क का स्टोरेज बचाने और बूट होने में लगने वाले समय को कम करने के लिए, सिस्टम इमेज से healthd
को हटाएं.
ऐसा करने के लिए:
Soong में, डिवाइस के हिसाब से लागू करने के लिए, यहां दी गई लाइन जोड़कर, सिस्टम इमेज से
healthd
औरhealthd.rc
हटाएं: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
लागू करें. ज़्यादा जानकारी के लिए, स्वास्थ्य से जुड़ा डेटा लागू करना लेख देखें.