编译环境:(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=

如果系统提示找不到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=

搞完,收工。回家睡觉。

移植rtmpdump(librtmp)到android的更多相关文章

  1. Unity3D移植到自己的Android程序

    用Unity3D开发需要把动画效果移植到现有的APP上面.Unity for Android 比较特殊,Unity for IOS 打包是将XCODE工程直接交给开发者,开发者可以在工程的基础上继续添 ...

  2. Android学习——移植tr069程序到Android平台

    原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...

  3. [原]零基础学习SDL开发之移植SDL2.0到Android

    在[原]SDL开发教程我们知道了如何在pc下使用SDL进行开发,在android上面是否一样可以使用呢?答案是肯定的. 下面我们进行移植SDL到Android,这里都是基于SDL最新版进行移植的,在E ...

  4. Android平台下OpenCV移植与使用---基于C/C++

    在<Android Studio增加NDK代码编译支持--Mac环境>和<Mac平台下Opencv开发环境搭建>两篇文章中,介绍了如何使用NDK环境和Opencv环境搭建与测试 ...

  5. 第一章 Android系统移植与驱动开发概述

    本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...

  6. Android系统移植与驱动开发----第一章

    第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...

  7. RTMPdump(libRTMP)源代码分析 4: 连接第一步——握手(Hand Shake)

    ===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: ...

  8. RTMPdump(libRTMP) 源代码分析 10: 处理各种消息(Message)

    ===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: ...

  9. RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)

    ===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: ...

随机推荐

  1. C语言双向链表

    原文:C语言双向链表 今天写了点双向链表的各种操作,写插入的时候费了点时间,不过,现在看来还是值得耗费那点时间去写的,这种小东西应该能信手拈来才行啊. /*双向链表*/ #include <st ...

  2. 使用AndroidStudio快速开发教程

    关于AndroidStudio的使用 参考:http://www.codes51.com/article/detail_98914.html  1.对于开发环境的通性:编写 调试 视图   一般的开发 ...

  3. 谢绝艳照门 - 手把手教你把当今很hit的家庭监控IP Camera变得网络安全起来

    IP Camerars现在已经越来越便宜了,很多人都可以买得起,并且大家也乐意去购买,因为它们的确是用来监控你在高房价的中国购买的爱巢的非常便利的设备.当然,配套的监控应用也层出不穷,从通用的家庭安全 ...

  4. 全局scope与Isolate scope通信

    AngularJS 全局scope与Isolate scope通信 在项目开发时,全局scope 和 directive本地scope使用范围不够清晰,全局scope与directive本地scope ...

  5. Asterisk 未来之路3.0_0002

    原文:Asterisk 未来之路3.0_0002 伟大的变化需要可扩展性技术 每一个现有的PBX都因为其自身的缺点变的糟糕,不管其功能如何丰富,总有一些东西会漏掉.具备非常完全功能的PBX 也不能预见 ...

  6. C++在struct与class差异

    在C++中,既能够用structkeyword进行类的定义,也能够用classkeyword进行类的定义,那么这两者究竟有什么差别呢? 唯一的一点差别是:struct和class的默认訪问权限不一样. ...

  7. leetcode第14题--Longest Common Prefix

    Problems:Write a function to find the longest common prefix string amongst an array of strings. 就是返回 ...

  8. C# 利用SMTP异步发送邮件

    C#实现收发邮件功能需要用到两个命名空间  System.Net; 和 System.Net.Mail; SmtpClient client = new SmtpClient("smtp.g ...

  9. CQRS架构

    CQRS架构 命令查询的责任分离Command Query Responsibility Segregation (简称CQRS)模式是一种架构体系模式,能够使改变模型的状态的命令和模型状态的查询实现 ...

  10. JavaScript中JSON字符串和JSON对象相互转化

    JSON字符串转化为JSON对象的2种方式 一.使用函数eval var personsstr = '[{"Name":"zhangsan","Age ...