1、下载LAME源码 https://sourceforge.net/projects/lame/files/lame/ 我选择的是最新版3.100,解压
2、新建支持C++的AndroidStudio项目LAMETest
3、在项目cpp目录新建文件夹lame,把解压后文件夹libmp3lame里的除i386和vector文件夹里全部.h、.c结尾的文件和include/lame.h复制到cpp/lame里面
4、注释掉或者删掉ffc.c文件里的include "vector/lame_intrin.h"
5、注释掉set_get.h的第24行
6、修改 util.h 文件的 570 行的 extern ieee754_float32_t fast_log2(ieee754_float32_t x) 为 extern float fast_log2(float x)
7、此时还有很多文件报错,因为没有定义宏 STDC_HEADERS ,在配置文件中添加cFlags "-DSTDC_HEADERS",-DSTDC_HEADERS的意思相当于 #define STDC_HEADERS
提醒一下,这个地方一定一定一定要选CMake 3.6,不要选2.10,否则项目会莫名其妙不能识别cpp文件
8、最后运行测试一下,修改native-lib.cpp如下,返回LAME版本
成功最后附上NDK官方开发文档地址 https://developer.android.google.cn/ndk/
网友评论