一、HAL之框架
1. tiny4412上HAL框架
audio.primary.tiny4412.so文件的Makefile:
device/friendly-arm/common/libaudio/Android.mk
LOCAL_SRC_FILES:= AudioHardware.cppLOCAL_MODULE := audio.primary.$(TARGET_DEVICE) #TARGET_DEVICE就是tiny4412,生成audio.primary.tiny4412.so,其中primary是在 /system/etc/audio_policy.conf中指定的module的名字。
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_STATIC_LIBRARIES:=libmedia_helper
LOCAL_SHARED_LIBRARIES:=\
libutils \
liblog \
libhardware_legacy \ # 依赖这个库
libtinyalsa \ # 依赖这个库
libaudioutils
LOCAL_WHOLE_STATIC_LIBRARIES := libaudiohw_legacy
libaudiohw_legacy依赖文件:
hardware/libhardware_legacy/audio/Android.mk
LOCAL_SRC_FILES :=\
AudioHardwareInterface.cpp\
audio_hw_hal.cpp# 4412的5.0版Android上是这个HAL,其它的可不一定了
LOCAL_MODULE :=libaudiohw_legacy
LOCAL_MODULE_TAGS :=optional
LOCAL_STAT