Bir ses ilkesi yapılandırması oluşturduktan sonra, HAL uygulamasını paylaşılan bir kitaplıkta paketlemeniz ve uygun konuma kopyalamanız gerekir:
- Kitaplığınızın kaynak dosyalarını içerecek bir
device/<company>/<device>/audio
dizini oluşturun. - Paylaşılan kitaplığı oluşturmak için bir
Android.mk
dosyası oluşturun. Makefile'ın aşağıdaki satırı içerdiğinden emin olun:LOCAL_MODULE := audio.primary.<device>
Android'in kitaplığı doğru şekilde yükleyebilmesi için kitaplığınızın adı
audio.primary.<device>.so
. Bu dosya adınınprimary
kısmı, bu paylaşılan kitaplığın aygıtta bulunan birincil ses donanımı için olduğunu gösterir.audio.a2dp.<device>
veaudio.usb.<device>
modül adları Bluetooth ve USB ses arabirimleri için de mevcuttur. İşte Galaxy Nexus ses donanımından birAndroid.mk
örneği: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)
- Ürününüz Android CDD tarafından belirtildiği gibi düşük gecikmeli sesi destekliyorsa, ilgili XML özellik dosyasını ürününüze kopyalayın. Örneğin, ürününüzün
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 \
- Daha önce oluşturduğunuz ses politikası yapılandırma dosyasını ürününüzün
device/<company>/<device>/device.mk
Makefile içindekisystem/etc/
dizinine kopyalayın. Örneğin:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- Ürününüz için gerekli olan ses HAL'inizin paylaşılan modüllerini ürünün
device/<company>/<device>/device.mk
Makefile'de bildirin. Örneğin, Galaxy Nexus, birincil ve Bluetooth ses HAL modüllerini gerektirir:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default