建立 Deployment 後 音訊政策 設定,您必須將 HAL 實作封裝至共用程式庫 並複製到適當位置:
- 建立
device/<company>/<device>/audio
目錄,包含程式庫的來源檔案。 - 建立
Android.mk
檔案來建立共用資料庫。確保 Makefile 中包含下列幾行:
LOCAL_MODULE := audio.primary.<device>
媒體庫的名稱必須是「
audio.primary.<device>.so
」 ,以便 Android 正確載入程式庫的primary
部分 這個檔案名稱表示這個共用資料庫適用於主要音訊 安裝在裝置上的硬體位置模組名稱 「audio.a2dp.<device>
」和 「audio.usb.<device>
」也適用於藍牙和 USB 音訊介面。以下是Android.mk
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)
- 如果您的產品支援 Android CDD 指定的低延遲音訊,
將對應的 XML 功能檔案複製到產品中。舉例來說,在您的
產品的
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 \
- 將先前建立的音訊政策設定檔複製到
產品目錄的
system/etc/
目錄device/<company>/<device>/device.mk
Makefile。 例如:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- 宣告音訊 HAL 所需的共用模組
應用於產品
device/<company>/<device>/device.mk
Makefile。 舉例來說,Galaxy Nexus 需要主要和藍牙音訊 HAL 模組:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default