Paylaşılan kitaplığı yapılandırma

Bir ses politikası yapılandırmasında HAL uygulamasını paylaşılan bir kitaplıkta paketlemeniz gerekir. ve uygun konuma kopyalayın:

  1. Bir device/<company>/<device>/audio oluşturun dizininizin olması gerekir.
  2. Paylaşılan kitaplığı oluşturmak için bir Android.mk dosyası oluşturun. Emin olun Makefile şu satırı içerir:
    .
    LOCAL_MODULE := audio.primary.<device>
    

    .

    Kitaplığınız audio.primary.<device>.so olarak adlandırılmalıdır. Böylece Android, kitaplığı doğru şekilde yükleyebilir. Şu kısmın primary kısmı: bu dosya adı, paylaşılan bu kitaplığın birincil ses için olduğunu belirtir donanım anahtarıdır. Modül adları audio.a2dp.<device> ve audio.usb.<device> ayrıca Bluetooth ve USB ses arayüzleri. Bu örnek bir Android.mk örneğidir. Galaxy Nexus ses donanımı:

    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. Ürününüz Android CDD'de belirtildiği şekilde düşük gecikmeli sesi destekliyorsa İlgili XML özellik dosyasını ürününüze kopyalayın. Örneğin, ürünün device/<company>/<device>/device.mk Yapma dosyası:
    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. Daha önce oluşturduğunuz ses politikası yapılandırma dosyasını Ürününüzün system/etc/ dizini device/<company>/<device>/device.mk Yapma dosyası. Örnek:
    PRODUCT_COPY_FILES += \
            device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
    
    .

  5. Ses HAL'nizin, ayrıca, ürünün reklam etiketindeki device/<company>/<device>/device.mk Yapma dosyası. Örneğin, Galaxy Nexus için birincil ve Bluetooth ses HAL'si gerekir. modüllerinde yer alır:
    PRODUCT_PACKAGES += \
            audio.primary.tuna \
            audio.a2dp.default
    
    .