ऑडियो नीति कॉन्फ़िगरेशन बनाने के बाद, आपको एचएएल कार्यान्वयन को एक साझा पुस्तकालय में पैकेज करना होगा और इसे उचित स्थान पर कॉपी करना होगा:
- अपनी लाइब्रेरी की स्रोत फ़ाइलों को शामिल करने के लिए एक
device/<company>/<device>/audio
निर्देशिका बनाएं। - साझा लाइब्रेरी बनाने के लिए
Android.mk
फ़ाइल बनाएँ। सुनिश्चित करें कि मेकफ़ाइल में निम्न पंक्ति है:LOCAL_MODULE := audio.primary.<device>
आपकी लाइब्रेरी का नाम
audio.primary.<device>.so
होना चाहिए। ताकि Android लाइब्रेरी को सही तरीके से लोड कर सके। इस फ़ाइल नाम काprimary
भाग इंगित करता है कि यह साझा लाइब्रेरी डिवाइस पर स्थित प्राथमिक ऑडियो हार्डवेयर के लिए है। मॉड्यूल नामaudio.a2dp.<device>
औरaudio.usb.<device>
ब्लूटूथ और USB ऑडियो इंटरफेस के लिए भी उपलब्ध हैं। गैलेक्सी नेक्सस ऑडियो हार्डवेयर से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)
- यदि आपका उत्पाद एंड्रॉइड सीडीडी द्वारा निर्दिष्ट कम विलंबता ऑडियो का समर्थन करता है, तो संबंधित एक्सएमएल फीचर फ़ाइल को अपने उत्पाद में कॉपी करें। उदाहरण के लिए, आपके उत्पाद के
device/<company>/<device>/device.mk
: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
Makefile मेंsystem/etc/
निर्देशिका में कॉपी करें। उदाहरण के लिए:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
4 - अपने ऑडियो HAL के साझा मॉड्यूल की घोषणा करें जो आपके उत्पाद के लिए उत्पाद के
device/<company>/<device>/device.mk
Makefile में आवश्यक हैं। उदाहरण के लिए, गैलेक्सी नेक्सस को प्राथमिक और ब्लूटूथ ऑडियो एचएएल मॉड्यूल की आवश्यकता होती है:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default