Setelah membuat kebijakan audio , Anda harus memaketkan implementasi HAL ke dalam library bersama dan salin ke lokasi yang sesuai:
- Membuat
device/<company>/<device>/audio
yang berisi file sumber library Anda. - Buat file
Android.mk
untuk mem-build library bersama. Pastikan Makefile berisi baris berikut:
LOCAL_MODULE := audio.primary.<device>
Koleksi Anda harus diberi nama
audio.primary.<device>.so
sehingga Android dapat memuat {i>library<i} dengan benar. Bagianprimary
dari nama file ini menunjukkan bahwa koleksi bersama ini ditujukan untuk audio utama perangkat keras yang terletak pada perangkat itu. Nama-nama modulaudio.a2dp.<device>
danaudio.usb.<device>
juga tersedia untuk Bluetooth dan Antarmuka audio USB. Berikut 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 Android CDD,
salin file fitur XML yang sesuai ke produk Anda. Misalnya, di
device/<company>/<device>/device.mk
produk {i>Makefile<i}: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 direktori produk Anda Makefiledevice/<company>/<device>/device.mk
. Contoh:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- Deklarasikan modul bersama dari HAL audio Anda yang diperlukan oleh
dalam
Makefile
device/<company>/<device>/device.mk
. Misalnya, Galaxy Nexus memerlukan HAL audio utama dan Bluetooth modul:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default