Po utworzeniu zasady dotyczące dźwięku , musisz spakować implementację HAL do zasobów wspólnych. i skopiuj go w odpowiednie miejsce:
- Utwórz
device/<company>/<device>/audio
na pliki źródłowe biblioteki. - Utwórz plik
Android.mk
, by utworzyć zasoby wspólne. Sprawdź, czy plik Makefile zawiera ten wiersz:
LOCAL_MODULE := audio.primary.<device>
Biblioteka musi mieć nazwę
audio.primary.<device>.so
aby Android prawidłowo załadować bibliotekę. Częśćprimary
, że ta nazwa pliku wskazuje, że ta udostępniona biblioteka jest przeznaczona do sprzętowy na urządzeniu. Nazwy modułówaudio.a2dp.<device>
i Urządzeniaaudio.usb.<device>
są również obsługiwane przez Bluetooth i Interfejsy audio USB. Oto przykład atrybutuAndroid.mk
z Sprzęt 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 z małym opóźnieniem, zgodnie z dokumentem CDD dla Androida,
skopiuj odpowiedni plik XML funkcji do produktu. Na przykład w pliku
device/<company>/<device>/device.mk
usługi Plik programu 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 \
- Skopiuj utworzony wcześniej plik konfiguracji zasad audio do
Katalog
system/etc/
w folderze Twojej usługidevice/<company>/<device>/device.mk
Plik programu Makefile Na przykład:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- Zadeklaruj udostępnione moduły HAL audio, których wymaga
produktu w atrybucie
device/<company>/<device>/device.mk
plik Makefile. Na przykład Galaxy Nexus wymaga głównego interfejsu HAL audio i Bluetootha. moduły:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default