शेयर की गई लाइब्रेरी कॉन्फ़िगर करना

एक विज्ञापन बनाने के बाद ऑडियो नीति कॉन्फ़िगरेशन है, तो आपको एचएएल लागू करने के तरीके को किसी शेयर की गई लाइब्रेरी में पैकेज करना होगा और उसे उचित स्थान पर कॉपी करें:

  1. device/<company>/<device>/audio बनाएं डायरेक्ट्री में जोड़ा जा सकता है.
  2. शेयर की गई लाइब्रेरी बनाने के लिए Android.mk फ़ाइल बनाएं. पक्का करें कि Makefile में यह लाइन शामिल है:
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
    LOCAL_MODULE := audio.primary.<device>
    

    आपकी लाइब्रेरी का नाम audio.primary.<device>.so होना चाहिए ताकि Android, लाइब्रेरी को सही तरीके से लोड कर सके. इसका primary वाला हिस्सा इस फ़ाइल नाम से पता चलता है कि शेयर की गई यह लाइब्रेरी, मुख्य ऑडियो के लिए है डिवाइस में मौजूद हार्डवेयर. मॉड्यूल के नाम audio.a2dp.<device> और audio.usb.<device>, ब्लूटूथ और यूएसबी ऑडियो इंटरफ़ेस. यहां Android.mk का एक उदाहरण दिया गया है, Galaxy Nexus ऑडियो हार्डवेयर:

    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)
    

  3. अगर आपके प्रॉडक्ट पर, Android सीआईडी के मुताबिक इंतज़ार का समय कम करने वाला ऑडियो काम करता है, तो इससे जुड़ी एक्सएमएल फ़ीचर फ़ाइल को अपने प्रॉडक्ट में कॉपी करें. उदाहरण के लिए, आपके प्रॉडक्ट का 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 \
    

  4. आपके द्वारा पहले बनाई गई ऑडियो नीति कॉन्फ़िगरेशन फ़ाइल को आपके प्रॉडक्ट की system/etc/ डायरेक्ट्री device/<company>/<device>/device.mk मेकफ़ाइल. उदाहरण के लिए:
    PRODUCT_COPY_FILES += \
            device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
    

  5. अपने ऑडियो एचएएल के शेयर किए गए उन मॉड्यूल का एलान करें जो आपके डिवाइस के लिए ज़रूरी हैं प्रॉडक्ट के device/<company>/<device>/device.mk मेकफ़ाइल. उदाहरण के लिए, Galaxy Nexus के लिए प्राथमिक और ब्लूटूथ ऑडियो HAL की आवश्यकता होती है मॉड्यूल:
    PRODUCT_PACKAGES += \
            audio.primary.tuna \
            audio.a2dp.default