编译lame

下载最新的lame
http://lame.sourceforge.net/download.php

拷贝 lame.h (include目录下),至libmp3目录下

创建Android.mk,内容如下:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := lameLOCAL_CLFAGS := -std=c99LOCAL_LDLIBS := -llogLOCAL_SRC_FILES := bitstream.c fft.c id3tag.c mpglib_interface.c presets.c quantize.c reservoir.c tables.c util.c VbrTag.c encoder.c gain_analysis.c lame.c newmdct.c psymodel.c quantize_pvt.c set_get.c takehiro.c vbrquantize.c version.cinclude $(BUILD_SHARED_LIBRARY)

创建Application.mk,内容如下

APP_ABI := armeabi-v7a arm64-v8a x86_64APP_MODULES := lameAPP_CFLAGS += -DSTDC_HEADERS#APP_ABI:=x86_64#APP_PLATFORM := android-21

执行

ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk

说明:

Application.mk里要加

APP_CFLAGS += -DSTDC_HEADERS

不然会报出

undefined reference to `bcopy'

等错误

删除非.c/.h文件:GNU autotools, Makefile.am Makefile.in libmp3lame_vc8.vcproj logoe.ico depcomp, folders i386 等无用文件。

编辑 utils.h。把

extern ieee754_float32_t fast_log2(ieee754_float32_t x);

替换为

extern float fast_log2(float x);

如果忘了替换,编译时会报出以下错误:

[armeabi] Compile thumb  : mp3lame <= bitstream.c  In file included from jni/bitstream.c:36:0:  jni/util.h:574:5: error: unknown type name 'ieee754_float32_t'  jni/util.h:574:40: error: unknown type name 'ieee754_float32_t'  make.exe: *** [obj/local/armeabi/objs/mp3bitstream.o] Error 1 

更多相关文章

  1. Android(安卓)源码下载、编译以及编译自己的apk
  2. ionic 自动编译android的release版本
  3. Android(安卓)命令行手动编译打包详解
  4. android ndk编译getevent
  5. android studio运行应用报找不到资源问题
  6. Android全工程编译不过问题汇总
  7. Android(安卓)源码编译make的错误处理
  8. 修改Android(安卓)framework定制重启功能
  9. android 3des加密Access restriction: The constructor SunJCE()

随机推荐

  1. android-EditText输入框被键盘遮挡问题解
  2. ubuntu 11.10 搭建 Android 开发环境
  3. Android ListView SimpleAdapter ArrayLi
  4. Android SQLiteOpenHelper(手机数据库)
  5. android的TextUtils.substring与.net的不
  6. 【android】设置View字体点击变色和边框
  7. Android O版本Call对象解析
  8. Android 自定义键盘中禁用点击预览弹窗
  9. android-控件样式(Theme)自定义
  10. Android(安卓)应用初始化及窗体事件的分