Bir ses politikası yapılandırmasında HAL uygulamasını paylaşılan bir kitaplıkta paketlemeniz gerekir. ve uygun konuma kopyalayın:
- Bir
device/<company>/<device>/audio
oluşturun dizininizin olması gerekir. - 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ınprimary
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>
veaudio.usb.<device>
ayrıca Bluetooth ve USB ses arayüzleri. Bu örnek birAndroid.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)
- Ü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 \
- Daha önce oluşturduğunuz ses politikası yapılandırma dosyasını
Ürününüzün
system/etc/
dizinidevice/<company>/<device>/device.mk
Yapma dosyası. Örnek:PRODUCT_COPY_FILES += \ device/samsung/tuna/audio/audio_policy.conf:system/etc/audio_policy.conf
- 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