Bir ses politikası yapılandırması oluşturduktan sonra HAL uygulamasını bir paylaşılan kitaplığa paketlemeniz ve uygun konuma kopyalamanız gerekir:
- Kitaplığınızın kaynak dosyalarını içerecek bir
device/<company>/<device>/audio
dizin oluşturun. - Paylaşılan kitaplığı oluşturmak için bir
Android.mk
dosyası oluşturun. Makefile'in 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
olmalıdır. Bu dosya adınınprimary
kısmı, bu paylaşılan kitaplığın cihazdaki 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 kullanılabilir. Galaxy Nexus ses donanımındaki birAndroid.mk
örneğini aşağıda görebilirsiniz: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'inde: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'indekisystem/etc/
dizinine kopyalayın. Örnek:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- Ürününüzün ihtiyaç duyduğu ses HAL'inizin paylaşılan modüllerini ürünün
device/<company>/<device>/device.mk
Makefile dosyasında tanımlayın. Örneğin, Galaxy Nexus için birincil ve Bluetooth ses HAL modülleri gerekir:PRODUCT_PACKAGES += \ audio.primary.tuna \ audio.a2dp.default