Setelah membuat konfigurasi kebijakan audio, Anda harus memaketkan implementasi HAL ke dalam library bersama dan menyalinnya ke lokasi yang sesuai:
- Buat direktori
device/<company>/<device>/audio
untuk memuat file sumber library Anda. - Buat file
Android.mk
untuk mem-build library bersama. Pastikan Makefile berisi baris berikut:
LOCAL_MODULE := audio.primary.<device>
Library Anda harus diberi nama
audio.primary.<device>.so
agar Android dapat memuat library dengan benar. Bagianprimary
dari nama file ini menunjukkan bahwa library bersama ini ditujukan untuk hardware audio utama yang berada di perangkat. Nama modulaudio.a2dp.<device>
danaudio.usb.<device>
juga tersedia untuk antarmuka audio Bluetooth dan USB. Berikut adalah contohAndroid.mk
dari hardware audio 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)
- Jika produk Anda mendukung audio latensi rendah seperti yang ditentukan oleh CDD Android,
salin file fitur XML yang sesuai ke produk Anda. Misalnya, dalam
Makefile
device/<company>/<device>/device.mk
produk Anda: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 \
- Salin file konfigurasi kebijakan audio yang Anda buat sebelumnya ke
direktori
system/etc/
di Makefiledevice/<company>/<device>/device.mk
produk Anda. Contoh:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- Deklarasikan modul bersama HAL audio yang diperlukan oleh
produk Anda dalam
Makefile
device/<company>/<device>/device.mk
produk. Misalnya, Galaxy Nexus memerlukan modul HAL audio primer dan Bluetooth:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default