最近在为android添加alsa驱动,需要为其写一个命令行测试程序,参考文章如下:
http://hi.baidu.com/happyge/blog/item/1d4519333ca9e5e01b4cff4f.html
但在编译时一直无法加上动态库。
使用如下命令
arm-none-linux-gnueabi-gcc -B xxx -static -lasound -L/libforasound alsatest.c
一直提示找不到lasound。无奈,参考alsa_utils内容,直接复制alsa_utiles ->alsa_test,
并修改Android.mk,如下:
LOCAL_PATH:= $(call my-dir)
#
# Build atest command
#
include $(CLEAR_VARS)
LOCAL_CFLAGS := \
-fPIC -D_POSIX_SOURCE \
-DALSA_CONFIG_DIR=\"/system/usr/share/alsa\" \
-DALSA_PLUGIN_DIR=\"/system/usr/lib/alsa-lib\" \
-DALSA_DEVICE_DIRECTORY=\"/dev/snd/\"
LOCAL_C_INCLUDES:= \
$(LOCAL_PATH)/include \
$(LOCAL_PATH)/android \
external/alsa-lib/include
LOCAL_SRC_FILES := \
atest.c
LOCAL_MODULE_TAGS := debug eng user
LOCAL_MODULE := atest
LOCAL_SHARED_LIBRARIES := \
libaudio \
libasound \
libc
include $(BUILD_EXECUTABLE)
然后将源文件拷入即可。
编译后在system/bin中生成atest文件,adb push 到目标板,./atest即可运行。