前两天收到一个经过处理的webRTC源码,主要包含AEC,NS,AGC,VAD四项主要功能。要将其编译成一个ARM平台下库供Android APP使用。
怎么说呢,相当坑,源码好像是从GitHub上翻出来了,大牛精简抽离后,x86下可至今编译,但ARM下就需要下点功夫了。改起来相当累啊,耗时一个半工作日搞定,成果如下,请品鉴。
configure时为了好看,连接符可能不太标准。ANDROID_NDK的需自行设定。仅有脚本还不行,源码中还需做些微修改,这里就不再上传了,都是基本的编译问题,很简单。
#!/bin/sh
// ndk
export ANDROID_NDK="/var/sdk/android-ndk-r14b"
export SDK_VERSION=19
export ARCH=arm
if [ "$ARCH" = "arm64" ]
then
export PLATFORM_PREFIX="aarch64-linux-android-"
export HOST="aarch64"
export PLATFORM_VERSION=4.9
else
export PLATFORM_PREFIX="arm-linux-androideabi-"
export HOST="arm"
export PLATFORM_VERSION=4.9
fi
expor