Setelah membuat konfigurasi kebijakan audio , Anda harus mengemas implementasi HAL ke dalam pustaka bersama dan menyalinnya ke lokasi yang sesuai:
- Buat direktori
device/<company>/<device>/audio
untuk menampung file sumber perpustakaan Anda. - Buat file
Android.mk
untuk membangun perpustakaan bersama. Pastikan Makefile berisi baris berikut:LOCAL_MODULE := audio.primary.<device>
Pustaka Anda harus diberi nama
audio.primary.<device>.so
Android dapat memuat pustaka dengan benar. Bagianprimary
dari nama file ini menunjukkan bahwa pustaka bersama ini adalah untuk perangkat keras audio utama yang terletak di perangkat. Nama modulaudio.a2dp.<device>
danaudio.usb.<device>
juga tersedia untuk antarmuka audio Bluetooth dan USB. Berikut adalah contohAndroid.mk
dari perangkat keras 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 dalam produk Anda. Misalnya, di
device/<company>/<device>/device.mk
Anda Makefile: l10nPRODUCT_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/
didevice/<company>/<device>/device.mk
Makefile produk Anda. Misalnya:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- Deklarasikan modul bersama HAL audio Anda yang diperlukan oleh produk Anda di
device/<company>/<device>/device.mk
Makefile produk produk. Misalnya, Galaxy Nexus memerlukan modul HAL audio utama dan Bluetooth:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default