centos7使用ndk编译lame
1. 软件版本
ndk
版本:android-ndk-r20b
下载地址:https://developer.android.google.cn/ndk/downloads/older_releases#ndk-20b-downloadslame
版本:3.100
下载地址:https://sourceforge.net/projects/lame/files/lame/3.100/
2. 编译脚本
脚本位置:lame-3.100/build_android.sh
# NDK所在目录
NDK_ROOT=/root/workspace/android-ndk-r20b
TOOLCHAIN="${NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64"
#重新赋值我们的CC和CXX,用我们Android自己的C编译器,而且会有32和64之分
#32位V7的我们用armv7a-linux-androideabi
#64位V8的我们用aarch64-linux-android
#32位的x64使用i686-linux-android
#64位的x86_64使用x86_64-linux-android
HOST=x86_64-linux-android
#至于这个21你可以自己选版本号,看你的目录下有哪些版本
V=21
export CC=$TOOLCHAIN/bin/$HOST$V-clang
export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
echo $CC
#PREFIX定义编译输出目录
#32位V7设置为armeabi-v7a
#64位V8设置为arm64-v8a
#32为x86设置为x86
#64位x86_64设置为x86_64
PREFIX=$(pwd)/android/x86_64
#最简版本 指定编译动态链接库不编译静态库
#其它参数配置可以在lame源码根目录下执行./configure -h查看默认和支持的配置
function build_config
{
./configure \
--enable-static \
--enable-shared \
--with-pic \
--host=$HOST \
--disable-frontend \
--prefix=$PREFIX
}
build_config
make clean
make -j8 #8是线程数 数字越大编译速度越快,前提是你电脑支持
make install
一次编译多个平台的脚本:
# NDK所在目录
NDK_ROOT=/root/workspace/android-ndk-r20b
TOOLCHAIN="${NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64"
#至于这个21你可以自己选版本号,看你的目录下有哪些版本
V=21
#指定编译动态链接库和静态库
#其它参数配置可以在lame源码根目录下执行./configure -h查看默认和支持的配置
function build_config
{
./configure \
--enable-static \
--enable-shared \
--with-pic \
--host=$HOST \
--disable-frontend \
--prefix=$PREFIX
make clean
make -j8 #8是线程数 数字越大编译速度越快,前提是你电脑支持
make install
}
#32位V7的我们用armv7a-linux-androideabi
HOST=armv7a-linux-androideabi
export CC=$TOOLCHAIN/bin/$HOST$V-clang
export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
PREFIX=$(pwd)/android/armeabi-v7a
build_config
#64位V8的我们用aarch64-linux-android
# HOST=aarch64-linux-android
# export CC=$TOOLCHAIN/bin/$HOST$V-clang
# export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
# PREFIX=$(pwd)/android/arm64-v8a
# build_config
#32位的x86使用i686-linux-android
# HOST=i686-linux-android
# export CC=$TOOLCHAIN/bin/$HOST$V-clang
# export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
# PREFIX=$(pwd)/android/x86
# build_config
#64位的x86_64使用x86_64-linux-android
# HOST=x86_64-linux-android
# export CC=$TOOLCHAIN/bin/$HOST$V-clang
# export CXX=$TOOLCHAIN/bin/$HOST$V-clang++
# PREFIX=$(pwd)/android/x86_64
# build_config
执行脚本:
./build_android.sh
3. 编译结果
4. 参考
- Unbuntu环境编译 Android平台可用ffmpeg(带三方库fdk-aac和lame)
- Android studio 3.5 使用cmake编译Lame3.100库so
- Android NDk编译第二次记录(生成so文件)