http://blog.libertadtech.com/2011/02/porting-lame-encoder-to-android-arm.html
porting compiling lame encoder to Android ARM arch using Android NDK
prefer Java programming and Android SDK rather than Android native development kit.
Nevertheless compiling libmp3lame library for Android using Android NDK is very easy actually.
1. download Android NDK(also you need Android
SDK and Eclipse with ADT
plugin) and create simple project.
2. create directory called "jni" in your project's directory.
3. download lame sources, extract, copy all sources from directory libmp3lame to jni directory. Also copy lame.h which is located in include directory of lame sources.
4. create jni/Android.mk file. it should look like this:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mp3lame
LOCAL_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)
5. clean lame sources, remove what's left from GNU autotools, Makefile.am Makefile.in libmp3lame_vc8.vcproj logoe.ico depcomp, folders i386 vector. 删除这些文件以及文件夹
6. edit file jni/utils.h, and replace definition extern ieee754_float32_t fast_log2(ieee754_float32_t x);
with this extern float fast_log2(float x);
7. go to the root directory of your
Android project and run $pathtoandroidndk/ndk-build and you're done, you'll have limp3lame.so compiled