编译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 Studio Gradle多渠道打包(动态设定App名称,应用图标,背景
  2. Android EditText输入内容时挤压上面的activity的解决办法
  3. 解决INSTALL_FAILED_INSUFFICIENT_STORAGE调试错误的解决
  4. Android中的文件上传下载
  5. Android 广播获取短信内容
  6. android客户端从服务器端下载文件,服务端返回文件流(文件不在项目

随机推荐

  1. Android: Multithreading For Performanc
  2. Android设计原则及规范指南!UI设计师值得
  3. Android 广播监听USB插拔
  4. Android Custom UI: Making a Vintage Th
  5. inotify in android
  6. Android调用MediaScanner进行扫描
  7. Android 全局异常捕捉 + 本地异常日志
  8. Android图像处理之熔铸特效
  9. Android 按键处理
  10. android MediaRecorder录音详解