Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Configurar una biblioteca compartida

Después de crear una configuración de política de audio , debe empaquetar la implementación de HAL en una biblioteca compartida y copiarla en la ubicación adecuada:

  1. Cree un directorio device/<company>/<device>/audio para contener los archivos fuente de su biblioteca.
  2. Cree un archivo Android.mk para construir la biblioteca compartida. Asegúrese de que Makefile contenga la siguiente línea:
    LOCAL_MODULE := audio.primary.<device>
    

    Su biblioteca debe llamarse audio.primary.<device>.so que Android pueda cargar correctamente la biblioteca. La parte primary de este nombre de archivo indica que esta biblioteca compartida es para el hardware de audio principal ubicado en el dispositivo. Los nombres de módulo audio.a2dp.<device> y audio.usb.<device> también están disponibles para interfaces de audio Bluetooth y USB. A continuación, se muestra un ejemplo de un Android.mk del hardware de 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)
    

  3. Si su producto admite audio de baja latencia según lo especificado por el CDD de Android, copie el archivo de características XML correspondiente en su producto. Por ejemplo, en el device/<company>/<device>/device.mk su producto device/<company>/<device>/device.mk 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 \
    

  4. Copie el archivo de configuración de la política de audio que creó anteriormente en el directorio del system/etc/ en el device/<company>/<device>/device.mk Makefile de su producto. Por ejemplo:
    PRODUCT_COPY_FILES += \
            device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
    

  5. Declare los módulos compartidos de su HAL de audio que su producto requiere en el device/<company>/<device>/device.mk Makefile del producto. Por ejemplo, el Galaxy Nexus requiere los módulos HAL de audio principal y Bluetooth:
    PRODUCT_PACKAGES += \
            audio.primary.tuna \
            audio.a2dp.default