ऑडियो नीति का कॉन्फ़िगरेशन बनाने के बाद, आपको एचएएल लागू करने की प्रोसेस को शेयर की गई लाइब्रेरी में पैकेज करना होगा और उसे सही जगह पर कॉपी करना होगा:
- अपनी लाइब्रेरी की सोर्स फ़ाइलों को शामिल करने के लिए,
device/<company>/<device>/audio
डायरेक्ट्री बनाएं. - शेयर की जाने वाली लाइब्रेरी बनाने के लिए,
Android.mk
फ़ाइल बनाएं. पक्का करें कि Makefile में यह लाइन मौजूद हो:
LOCAL_MODULE := audio.primary.<device>
आपकी लाइब्रेरी का नाम
audio.primary.<device>.so
होना चाहिए, ताकि Android उसे सही तरीके से लोड कर सके. फ़ाइल के नाम केprimary
हिस्से से पता चलता है कि यह शेयर की गई लाइब्रेरी, डिवाइस पर मौजूद मुख्य ऑडियो हार्डवेयर के लिए है. मॉड्यूल के नामaudio.a2dp.<device>
औरaudio.usb.<device>
, ब्लूटूथ और यूएसबी ऑडियो इंटरफ़ेस के लिए भी उपलब्ध हैं. यहां Galaxy Nexus के ऑडियो हार्डवेयर से मिलेAndroid.mk
का उदाहरण दिया गया है:LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := audio.primary.tuna LOCAL_MODULE_RELATIVE_PATH := hw LOCAL_SRC_FILES := audio_hw.c ril_interface.c LOCAL_C_INCLUDES += \ external/tinyalsa/include \ $(call include-path-for, audio-utils) \ $(call include-path-for, audio-effects) LOCAL_SHARED_LIBRARIES := liblog libcutils libtinyalsa libaudioutils libdl LOCAL_MODULE_TAGS := optional include $(BUILD_SHARED_LIBRARY)
- अगर आपका प्रॉडक्ट, Android CDD में बताए गए तरीके से कम इंतज़ार वाले ऑडियो की सुविधा देता है, तो उससे जुड़ी एक्सएमएल फ़ाइल को अपने प्रॉडक्ट में कॉपी करें. उदाहरण के लिए, आपके प्रॉडक्ट के
device/<company>/<device>/device.mk
Makefile में:PRODUCT_COPY_FILES := ... PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
- ऑडियो नीति की कॉन्फ़िगरेशन फ़ाइल को, पहले बनाई गई
device/<company>/<device>/device.mk
फ़ाइल में मौजूदsystem/etc/
डायरेक्ट्री में कॉपी करें. उदाहरण के लिए:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- अपने ऑडियो एचएएल के उन शेयर किए गए मॉड्यूल के बारे में बताएं जो आपके प्रॉडक्ट के लिए ज़रूरी हैं. इसके लिए, प्रॉडक्ट के
device/<company>/<device>/device.mk
Makefile में जाएं. उदाहरण के लिए, Galaxy Nexus को प्राइमरी और ब्लूटूथ ऑडियो एचएएल मॉड्यूल की ज़रूरत होती है:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default