Nach dem Erstellen eines Audiorichtlinie Konfiguration müssen Sie die HAL-Implementierung in eine gemeinsam genutzte Bibliothek verpacken. und kopieren Sie es an den entsprechenden Speicherort:
device/<company>/<device>/audio
erstellen das die Quelldateien Ihrer Bibliothek enthalten soll.- Erstellen Sie die Datei
Android.mk
, um die gemeinsam genutzte Bibliothek zu erstellen. Sicherstellen, Das Makefile enthält die folgende Zeile:
LOCAL_MODULE := audio.primary.<device>
Der Name Ihrer Bibliothek muss
audio.primary.<device>.so
lauten damit Android die Bibliothek richtig laden kann. Derprimary
-Teil von Dieser Dateiname gibt an, dass diese gemeinsam genutzte Bibliothek für die primäre Audiodatei vorgesehen ist. die sich auf dem Gerät befindet. Die Modulnamenaudio.a2dp.<device>
undaudio.usb.<device>
sind auch für Bluetooth und USB-Audioschnittstellen. Hier ist ein Beispiel für einAndroid.mk
aus der Galaxy Nexus-Audio-Hardware: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)
- Wenn Ihr Produkt Audio mit niedriger Latenz unterstützt (siehe Android-CDD),
kopieren Sie die entsprechende XML-Funktionsdatei in Ihr Produkt. Nehmen wir zum Beispiel
device/<company>/<device>/device.mk
des Produkts 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 \
- Kopieren Sie die zuvor erstellte Konfigurationsdatei für die Audiorichtlinie in den
Verzeichnis
system/etc/
im Produktdevice/<company>/<device>/device.mk
Makefile. Beispiel:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- Deklarieren Sie die gemeinsam genutzten Module Ihres Audio-HAL, die von Ihrem
Produkt im
Makefile
device/<company>/<device>/device.mk
. Das Galaxy Nexus erfordert beispielsweise die primäre HAL und die Bluetooth-Audio-HAL. Module:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default