پس از ایجاد یک پیکربندی خط مشی صوتی ، باید اجرای HAL را در یک کتابخانه مشترک بسته بندی کنید و آن را در مکان مناسب کپی کنید:
- یک دایرکتوری
device/<company>/<device>/audioایجاد کنید تا حاوی فایل های منبع کتابخانه شما باشد. - یک فایل
Android.mkبرای ساخت کتابخانه مشترک ایجاد کنید. اطمینان حاصل کنید که Makefile دارای خط زیر است:LOCAL_MODULE := audio.primary.<device>
کتابخانه شما باید
audio.primary.<device>.soAndroid بتواند کتابخانه را به درستی بارگیری کند. بخشprimaryاین نام فایل نشان میدهد که این کتابخانه مشترک برای سختافزار صوتی اصلی واقع در دستگاه است. نامهای ماژولaudio.a2dp.<device>وaudio.usb.<device>برای رابطهای صوتی بلوتوث و USB نیز موجود است. در اینجا یک نمونه از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) - اگر محصول شما همانطور که توسط CDD Android مشخص شده است از صدای تاخیر کم پشتیبانی می کند، فایل ویژگی XML مربوطه را در محصول خود کپی کنید. به عنوان مثال، در
device/<company>/<device>/device.mkMakefile: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 \
- فایل پیکربندی خط مشی صوتی را که قبلاً ایجاد کردهاید در پوشه
system/etc/موجود درdevice/<company>/<device>/device.mkMakefile محصول خود کپی کنید. به عنوان مثال:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf - ماژول های مشترک HAL صوتی خود را که مورد نیاز محصول شما هستند در
device/<company>/<device>/device.mkMakefile اعلام کنید. برای مثال، Galaxy Nexus به ماژولهای صوتی HAL اولیه و بلوتوث نیاز دارد:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default