导语:
在安卓的开发过程中会涉及到多媒体的处理,刚研究这块的东西的时候也是各种搜索,但是很多的帖子还是不够详细的,我按照步骤各种操作还是失败了。所以写下帖子记录自己的编译历程。
一、lame下载:
下载地址:https://sourceforge.net/projects/lame/files/lame/
二、把下载的源码解压到特定的目录下:
image.png
1.在lame-3.99.5目录下创建shell脚本:build-lame.sh
#!/bin/bash
NDK_HOME=/home/storm/plagin/ndk/android-ndk-r14b
ANDROID_API=android-21
SYSROOT=$NDK_HOME/platforms/$ANDROID_API/arch-arm
ANDROID_BIN=$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/
CROSS_COMPILE=${ANDROID_BIN}/arm-linux-androideabi-
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
ARM_INC=$SYSROOT/usr/include
ARM_LIB=$SYSROOT/usr/lib
LDFLAGS=" -nostdlib -Bdynamic -Wl,--whole-archive -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,nocopyreloc -Wl,-soname,/system/lib/libz.so -Wl,-rpath-link=$ARM_LIB,-dynamic-linker=/system/bin/linker -L$NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi -L$NDK_HOME/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/arm-linux-androideabi/lib -L$ARM_LIB -lc -lgcc -lm -ldl "
FLAGS="--host=arm-linux --enable-static --disable-shared"
export CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}"
export LDFLAGS="$LDFLAGS"
export CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}"
CPU=armv7-a
./configure $FLAGS \
--prefix=$(pwd)/android/$CPU
2.修改文件的可执行权限:
chmod 777 -R build-lame.sh
3.运行编译脚本
suod ./build-lame.sh
make
make install
4.都执行结束之后就可以看到结果了:
image.png
至此就已经在ubuntu下成功编译号.a文件了。后续的使用我们在慢慢的实现。












网友评论