C/C++教程

如何在Android源码工程中编译fdk-aac

本文主要是介绍如何在Android源码工程中编译fdk-aac,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 下载fdk-aac源码

https://nchc.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.4.tar.gz
下载完成后在linux服务器中解压,我解压后的目录为

/home/dockdroid/dockdroid_code/temp/fdk-aac-0.1.4

2 添加配置编译脚本

在解压后的目录里添加配置编译脚本:build_32.sh

NDK_HOME=/home/dockdroid/dockdroid_code/temp/android-ndk-r14b
ANDROID_API=android-24
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-
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.9/prebuilt/linux-x86/arm-linux-androideabi/lib -L$ARM_LIB  -lc -lgcc -lm -ldl  "

FLAGS="--host=arm-androideabi-linux --enable-static --disable-shared"

export CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}"
export LDFLAGS="$LDFLAGS"
export CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}"

./configure $FLAGS \
--prefix='/home/dockdroid/dockdroid_code/temp/fdk-aac-0.1.4'

make clean
make -j48
make install

3 这个代码其实就是Android系统源码也有

其实就是Android系统Mediacodec里的aac,其源码目录在external/aac中。

这篇关于如何在Android源码工程中编译fdk-aac的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!