在android系统调试中使用tinyalsa命令
来源:互联网 发布:mac前端开发工具 编辑:程序博客网 时间:2024/05/25 23:27
我们在进行音频调试的时候,需要使用tinymix、tinyplay、tinycap等命令,来调试codec,
那么在android中,这些命令是不存在的,那么我们需要使用这些命令的话,就只有自己移植了。
该怎么样移植呢???
1)开始,我们直接按照linux下的步骤移植,编写Makefile 使用arm-linux-gcc 编译源码,
编译完成之后,通过adb push 将这些文件传送至/system/bin 下,运行tinymix ,
发现无法执行,百度之后发现,传统的linux下的执行程序的库是glibc,而在android系统中是
bionic ,库不一样,所以无法运行。
2)那该怎么办呢??
我们查看源码,发现在external/tinyalsa/ 文件夹下已经存在了tinyalsa的源码了,
查看Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES:= external/tinyalsa/include
LOCAL_SRC_FILES:= mixer.c pcm.c
LOCAL_MODULE := libtinyalsa
LOCAL_SHARED_LIBRARIES:= libcutils libutils
LOCAL_MODULE_TAGS := optional
LOCAL_PRELINK_MODULE := false
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES:= external/tinyalsa/include
LOCAL_SRC_FILES:= tinyplay.c
LOCAL_MODULE := tinyplay
LOCAL_SHARED_LIBRARIES:= libcutils libutils libtinyalsa
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES:= external/tinyalsa/include
LOCAL_SRC_FILES:= tinycap.c
LOCAL_MODULE := tinycap
LOCAL_SHARED_LIBRARIES:= libcutils libutils libtinyalsa
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES:= external/tinyalsa/include
LOCAL_SRC_FILES:= tinymix.c
LOCAL_MODULE := tinymix
LOCAL_SHARED_LIBRARIES:= libcutils libutils libtinyalsa
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
我们只需要模块化编译这些命令即可,libtinyalsa.so动态库是由mixer.c pcm.c 生成的,和这三个命令文件无关。
3)模块化编译:
先在源码中执行:source build/envsetup.sh ---->这一步会配置相关环境变量
进入external/tinyalsa/下,在终端输入命令mm 即可编译。
注意:如果提示找不到java环境,那么就将java环境变量添加至系统中,
具体为export 到 ~/.bashrc 文件中,随后source ~/.bashrc 即可。
其它文件、动态库、命令均可以这样编译或移植。
阅读全文
0 0
- 在android系统调试中使用tinyalsa命令
- 在android系统调试中使用tinyalsa命令
- android 音频底层调试-tinyalsa
- Android音频底层调试-基于tinyalsa
- Android音频底层调试-基于tinyalsa
- Android音频底层调试-基于tinyalsa
- [转] Android音频底层调试-基于tinyalsa
- Android音频底层调试-基于tinyalsa
- android音频底层调试-基于tinyalsa
- Android音频底层调试-基于tinyalsa
- Android音频底层调试-基于tinyalsa
- Android音频底层调试-基于tinyalsa
- Android Tinyalsa
- tinyalsa使用
- android 调试中 addr2line 命令的使用
- android 调试中 addr2line 命令的使用
- android 调试中 addr2line 命令的使用
- android 调试中 addr2line 命令的使用
- mvc:annotation-driven与annotation-config区别
- js+html手机端视频截屏
- 剑指offer-数组中只出现一次的数字
- ActiveMQ学习笔记01
- 关于short i = 65535和short i = 65536输出问题
- 在android系统调试中使用tinyalsa命令
- 解决 NotImplementedError: fromstring() has been removed. Please call frombytes() instead.
- 洛谷P1717 钓鱼
- 【健身】程序员也应该知道的胸背体态矫正锻炼技巧(下)附训练计划
- 转载:深度学习的局限性
- 思维导图给你讲述“出轨33天”的故事
- 如何给登录页面添加一个验证是否是机器登录的方式(验证码)
- Nefu 84 五指山【拓展欧几里得】入门
- Android中Button状态分析