একটি ভাগ করা লাইব্রেরি কনফিগার করুন

একটি অডিও নীতি কনফিগারেশন তৈরি করার পরে, আপনাকে অবশ্যই একটি শেয়ার্ড লাইব্রেরিতে এইচএএল বাস্তবায়ন প্যাকেজ করতে হবে এবং উপযুক্ত অবস্থানে অনুলিপি করতে হবে:

  1. আপনার লাইব্রেরির সোর্স ফাইল ধারণ করার জন্য একটি device/<company>/<device>/audio ডিরেক্টরি তৈরি করুন
  2. ভাগ করা লাইব্রেরি তৈরি করতে একটি Android.mk ফাইল তৈরি করুন৷ নিশ্চিত করুন যে মেকফাইলে নিম্নলিখিত লাইন রয়েছে:
    LOCAL_MODULE := audio.primary.<device>
    

    আপনার লাইব্রেরির নাম হতে হবে audio.primary.<device>.so তাই Android সঠিকভাবে লাইব্রেরি লোড করতে পারে৷ এই ফাইলের নামের primary অংশটি নির্দেশ করে যে এই ভাগ করা লাইব্রেরিটি ডিভাইসে অবস্থিত প্রাথমিক অডিও হার্ডওয়্যারের জন্য। মডিউলটির নাম audio.a2dp.<device> এবং audio.usb.<device> এছাড়াও Bluetooth এবং 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)
    

  3. যদি আপনার পণ্যটি Android CDD দ্বারা নির্দিষ্ট করা কম লেটেন্সি অডিও সমর্থন করে, তাহলে আপনার পণ্যে সংশ্লিষ্ট XML বৈশিষ্ট্য ফাইলটি অনুলিপি করুন। উদাহরণস্বরূপ, আপনার পণ্যের 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 \
    

  4. আপনার পণ্যের device/<company>/<device>/device.mk Makefile-এর system/etc/ ডিরেক্টরিতে আপনার তৈরি করা অডিও নীতি কনফিগারেশন ফাইলটি অনুলিপি করুন। যেমন:
    PRODUCT_COPY_FILES += \
            device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
    

  5. পণ্যের device/<company>/<device>/device.mk Makefile-এ আপনার অডিও HAL-এর শেয়ার করা মডিউলগুলি ঘোষণা করুন যা আপনার পণ্যের জন্য প্রয়োজনীয়। উদাহরণস্বরূপ, গ্যালাক্সি নেক্সাসের জন্য প্রাথমিক এবং ব্লুটুথ অডিও HAL মডিউল প্রয়োজন:
    PRODUCT_PACKAGES += \
            audio.primary.tuna \
            audio.a2dp.default