לאחר יצירת תצורת מדיניות שמע , עליך לארוז את יישום HAL לספרייה משותפת ולהעתיק אותו למיקום המתאים:
- צור
device/<company>/<device>/audio
שיכיל את קובצי המקור של הספרייה שלך. - צור קובץ
Android.mk
כדי לבנות את הספרייה המשותפת. ודא שה-Makefile מכיל את השורה הבאה:LOCAL_MODULE := audio.primary.<device>
הספרייה שלך חייבת להיות בשם
audio.primary.<device>.so
כדי ש-Android יוכל לטעון נכון את הספרייה. החלקprimary
של שם קובץ זה מציין שספרייה משותפת זו מיועדת לחומרת האודיו הראשית הממוקמת במכשיר. שמות המודולaudio.a2dp.<device>
ו-audio.usb.<device>
זמינים גם עבור ממשקי שמע Bluetooth ו-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.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 \
- העתק את קובץ תצורת מדיניות השמע שיצרת קודם לכן לספריית
system/etc/
device/<company>/<device>/device.mk
Makefile של המוצר שלך. לדוגמה:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- הכריז על המודולים המשותפים של HAL האודיו שלך הנדרשים על ידי המוצר שלך
device/<company>/<device>/device.mk
Makefile של המוצר. לדוגמה, ה-Galaxy Nexus דורש את מודולי השמע הראשיים וה-Bluetooth HAL:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default