Po utworzeniu konfiguracji zasad dotyczących dźwięku musisz skompilować implementację HAL w bibliotece współdzielonej i skopiować ją do odpowiedniej lokalizacji:
- Utwórz
device/<company>/<device>/audio
katalog, który będzie zawierać pliki źródłowe biblioteki. - Utwórz plik
Android.mk
, aby zbudować zasoby wspólne. Sprawdź, czy Makefile zawiera ten wiersz:
LOCAL_MODULE := audio.primary.<device>
Biblioteka musi mieć nazwę
audio.primary.<device>.so
, aby Android mógł ją prawidłowo wczytać. Częśćprimary
w nazwie pliku wskazuje, że ta wspólna biblioteka jest przeznaczona dla głównego sprzętu audio na urządzeniu. Nazwy modułówaudio.a2dp.<device>
iaudio.usb.<device>
są też dostępne w przypadku interfejsów audio USB i Bluetooth. Oto przykładAndroid.mk
z urządzenia 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)
- Jeśli Twój produkt obsługuje dźwięk o niskiej latencji zgodnie ze specyfikacją CDD Androida, skopiuj do niego odpowiedni plik XML. Na przykład w pliku Makefile produktu:
device/<company>/<device>/device.mk
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 \
- Skopiuj utworzony wcześniej plik konfiguracji zasad dotyczących treści audio do katalogu
system/etc/
w pliku Makefiledevice/<company>/<device>/device.mk
Twojego produktu. Przykład:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- W pliku
device/<company>/<device>/device.mk
Makefile produktu zadeklaruj udostępnione moduły HAL audio wymagane przez produkt. Na przykład Galaxy Nexus wymaga modułów HAL:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default