交叉编译librtmp for android

时间:2013-01-30 15:58:56

标签: android ffmpeg

有没有人成功地为Android平台交叉编译librtmp?我知道rtmpdump android下载包含了librtmp.so,但我想我也需要librtmp.a(我试图用librtmp支持交叉编译ffmpeg)。

有人有运气吗?它让我疯狂......

TA

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我刚刚使用Guardian Project's OpenSSL repo成功为Android构建了librtmp。我记录了我的步骤here以及保留的构建脚本。

简而言之,按照GuardianProject的指示构建OpenSSL,然后在rtmpdump/librtmp中运行以下脚本:

#build_librtmp_for_android.sh
NDK=/path/to/android-ndk-r9c
SYSROOT=$NDK/platforms/android-19/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64
OPENSSL_DIR=/path/to/openssl-android/
# Note: Change the above variables for your system. Also ensure you've built openssl-android
function build_one
{
    set -e
    make clean
    ln -s ${SYSROOT}usr/lib/crtbegin_so.o
    ln -s ${SYSROOT}usr/lib/crtend_so.o
    export XLDFLAGS="$ADDI_LDFLAGS -L${OPENSSL_DIR}libs/armeabi -L${SYSROOT}usr/lib "
    export CROSS_COMPILE=$TOOLCHAIN/bin/arm-linux-androideabi-
    export XCFLAGS="${ADDI_CFLAGS} -I${OPENSSL_DIR}include -isysroot ${SYSROOT}"
    export INC="-I${SYSROOT}"
    make prefix=\"${PREFIX}\" OPT= install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU 
ADDI_CFLAGS="-marm"
build_one

*在我朋友Chris的帮助下。