您的位置:首页 > 移动开发 > Android开发

移植rtmpdump(rtmpdump)到android

2016-07-08 19:24 316 查看
编译环境:(rtmpdump-master.zip和Polar SSL版本已经打包上传,具体路径在http://download.csdn.net/detail/gyley2/5721061)

win7操作系统
centos 6.0-64位虚拟机
android-ndk-r8e,下载地址:http://developer.android.com/tools/sdk/ndk/index.html
rtmpdump-master.zip,下载路径:https://github.com/S74ck3r/rtmpdump
Polar SSL,下载路径:https://polarssl.org/download,我用的是polarssl-1.2.0-gpl.tgz

当然你可以使用openssl作为ssl的库,下载路径为:https://github.com/aluvalasuman/OpenSSL1.0.1cForAndroid,使用NDK-bulid在此不作介绍,网上搜一下。

编译开始:

1、下载android-NDK,配置android编译环境。不会的问google。我的NDK环境在/home/android-ndk-r8e路径。

2、在home路径下创建rtmpdump文件夹路径,并且赋权限。

mkdir /home/rtmpdump

chmod 777 -R /home/rtmpdump 

3、配置NDK standalone 交叉编译环境。

/home/android-ndk-r8e/build/tools/make-standalone-toolchain.sh platform=android-14 --install-dir=/home/rtmpdump/android-toolchain --system=linux-x86_64

4、在环境变量中添加android NDK的交叉编译环境。

export PATH="/home/rtmpdump/android-toolchain/bin:$PATH

5、下载Polar SSL,并且解压。进入解压后的Polar SSL路径

6、编译Polar SSL。

make CC=arm-linux-androideabi-gcc APPS=
由于Polar SSL被收购mbed,会出现很多定义多了mbed前缀导致编译未通过,建议使用openssl库。


[ANDROID NDK ERROR]crtbegin_dynamic.o: undefined reference to 'main'

请在编译命令中加上

-shared 

或加在LD_FLAGS 后




如果系统提示找不到arm-linux-androideabi-gcc:1、export一下,看看”/home/rtmpdump/android-toolchain/bin“是否存在PATH路径下。2、进入“/home/rtmpdump/android-toolchain/bin”看看arm-linux-androideabi-gcc是否存在。如果上两步都没有问题,可以使用“make CC=/home/rtmpdump/android-toolchain/bin/arm-linux-androideabi-gcc
APPS=”进行编译。

7、安装Polar SSL。

make install DESTDIR=/home/rtmpdump/android-toolchain/sysroot

8、下载rtmpdump版本,并且解压,进入rtmpdump解压后的目录。

9、编译(librtmp为动态库)

make SYS=android CROSS_COMPILE=arm-linux-androideabi- INC="-I/home/rtmpdump/android-toolchain/sysroot/include" CRYPTO=POLARSSL

同样,如果提示找不到问题,处理方法同6.

如果想使用librtmp的静态库,使用

make SYS=android CROSS_COMPILE=arm-linux-androideabi- INC="-I/home/compiler/rtmpdump/android-toolchain/sysroot/include" CRYPTO=POLARSSL SHARED=
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: