หลังจากสร้าง นโยบายเสียง คุณต้องทำแพ็กเกจการติดตั้งใช้งาน 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>
ยังใช้กับบลูทูธและ อินเทอร์เฟซเสียง 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 ต้องใช้ HAL เสียงหลักและบลูทูธ โมดูล:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default