如何在android 中编译alsa-utils工具

 我来答
huanglenzhi
推荐于2016-01-27 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517184
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
首先我从ALSA 官方网上下载了alsa-utils-1.0.23版本的工具,因为我android 的alsa-lib
也是1.023版本的,防止版本不一样出现问题,我就选择了版本一样,我们的alsa-lib放的路径是在android_source/external/alsa-lib目录下面,我们下载的alsa-utils-1.023工具包也下载放在里面。

接下来我们需要蠢州完成以下几个动作:

1、在alsa-utils下面创建一个Android.mk写的内容是:

ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true)

LOCAL_PATH:= $(call my-dir)

#

# Build aplay 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 := \

aplay/aplay.c

LOCAL_MODULE_TAGS := debug

LOCAL_MODULE := alsa_aplay

LOCAL_SHARED_LIBRARIES := \

libasound \

libc

include $(BUILD_EXECUTABLE)

上面我只写了个编译aplay工具的代码,别的工具也是一样的写法

2、接下来进入alsa-utils工具包里面进行创建sys目录和aconfig.h文件,在aconfig.h文件里面编写以下内容

#define DATADIR "/system/usr/share/alsa"

#define rindex strrchr

#define open64 open

#undef __swab16

#define __swab16(x) __arch__swab16((x))

#undef __swab32

#define __swab32(x) __arch__swab32((x))

3、进入第2步中创建的sys目录,在sys目录中创建signal.h头文件,在这个头文件中写如以下内容

[plain] view plaincopyprint?

01.#include <signal.h>

#include <signal.h>4、接下来你直接编译android 就可以了,在编译过程中可能出现以下 错误“

4.1:kernel/common/linux/un.h:18: error: expected specifier-qualifier-list
before 'sa_family_t

那是因为我们在alsa-utils/alsactl/init_parse.c里面在include un.h之前没有#include
<sys/socket.h>,你只要在这之前include这个头文件就解决了

4.2:还有可能遇到这个错误:在aplay.c里面会提示报错'S_IRGRP' undeclared (first use in this
function,你只要在在aplay.c里面添加一个头文件:#include <sys/stat.h>,这样就解决了

4.3:接下来可能语言到这样的错误:speaker-test.c里面报wav_file_dir没有定义,这个值是用来定义你的wav文件存放在pad中的位置的,你随便放在哪里,我定义的路径
就是在/sdcard目录下面

经过上面的种种修改,alsa-utils工具带物蔽终于编译成功了

转载
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式