因项目需要,需要把srtp移植到android平台,于是我开始了艰难的旅程。
1,首先跑通demo代码,
在test下面有一个rtpw.exe这个就是demo,在cygwin下面运行下

接收端 :./rtpw.exe -r -k c1eec3717da76195bb878578790af71c4ee9f859e197a414a78d5abc7451 -ea 127.0.0.1  99999
发送端:./rtpw.exe -s -k c1eec3717da76195bb878578790af71c4ee9f859e197a414a78d5abc7451 -ea 127.0.0.1 99999
我们能够接受和发送字符。
2,移植so到android平台下面
本来打算编译好一个so库,直接到android下面使用的,无奈一直木有成功,后来想到了静态库,但是原生代码编译生成的是x86下面的a库,不是arm平台的a库,所以也无法使用
本着死马当活马医的原则,我把crypto,include ,srtp 3个文件夹下面的源码都放到了ndk下面,并修改了mk文件,如下

LOCAL_MODULE := srtp      # name it whatever
gdoi_src = 
# Random source.
RNG_OBJS = rand_source.c
ciphers = crypto/cipher/cipher.c crypto/cipher/null_cipher.c      \
crypto/cipher/aes.c crypto/cipher/aes_icm.c             \
crypto/cipher/aes_cbc.c
hashes  = crypto/hash/null_auth.c crypto/hash/sha1.c \
crypto/hash/hmac.c crypto/hash/auth.c # crypto/hash/tmmhv2.o 
replay  = crypto/replay/rdb.c crypto/replay/rdbx.c               \
crypto/replay/ut_sim.c 
math    = crypto/math/datatypes.c crypto/math/stat.c
ust     = crypto/ust/ust.c 
rng     = crypto/rng/$(RNG_OBJS) crypto/rng/prng.c crypto/rng/ctr_prng.c
err     = crypto/kernel/err.c
kernel  = crypto/kernel/crypto_kernel.c  crypto/kernel/alloc.c   \
crypto/kernel/key.c $(rng) $(err) # $(ust) 
crypt_src =  $(ciphers) $(hashes) $(math) $(stat) $(kernel) $(replay)
# libsrtp.a (implements srtp processing)
srtpobj = srtp/srtp.c 
LOCAL_SRC_FILES := $(srtp_src) $(crypt_src) $(gdoi_src) # or $(so_path)/libthird1.so

然后编译了下,OK,通过了。我调用了err_status_t status = srtp_init(); 成功说明我的移植成功了。

srtp移植到android平台相关推荐

  1. 在ubuntu系统下cocos2dx移植到android平台

    1.序 在网络上搜索cocos2dx移植到android的文章有很多, 本文也是参考根据网络上的文章移植成功的, 下面将本人的移植过程以及移植过程中遇到的问题记录下来以供今后参考和即将移植的新人一个参 ...

  2. android 移植游戏,Unity游戏移植到Android平台

    很多时候不仅需要单纯的运行单个的unity游戏,而是需要将游戏嵌入Android代码中和android其他功能相辅生成一个APP,比如通过android界面的一个按钮来启动一个unity游戏.本文介绍 ...

  3. Unity3D之移植学习笔记:移植到Android平台

    首先,我们需要一台已经配置好可以开发Android应用的计算机,这里我使用的是Windows系统+Eclipse+ADT的开发环境,当然也可以使用Android Studio或者使用Mac系统都可以. ...

  4. android 短信ril移植,将Android平台的RIL层移植到基于LINUX的通用平台的研究与实现...

    摘要:本文通过对Android RIL层代码分析,将android RIL层功能在纯LINUX平台上实现,完全脱离了Android系统.为基于LINUX的通用平台实现一套成熟的RIL层代码,并开发出相 ...

  5. pytorch 移植到Android平台(一)

    前期准备 模型 model.pt 一张待识别的图片 标签 ImageNetClasses.java(具体代码放在了后面) 目录结构如下 代码 下面的代码,将一张图片喂给神经网络模型,得到输出结果后,将 ...

  6. 分享将iOS游戏移植到Android平台的注意要点

    http://www.kuqin.com/gamedev/20120808/324171.html

  7. FFmpeg的Android平台移植—编译篇(验证可用)

    摘要:本文主要介绍将FFmpeg音视频编解码库移植到Android平台上的编译和基本测试过程. 环境准备: Ubuntu12.04 TLS android-ndk-r9d-linux-x86_64.t ...

  8. java jni udt找不到so_移植UDT到Android平台

    UDT是UDP Based Data Transfer的缩写,这是一个基于UDP协议的在应用层实现的一种面向连接的传输协议,主要目的是在于支持高速广域网上的数据海量传输.其采用C++开发,具有高度的可 ...

  9. 移植ffplay媒体播放器和sdl2到Android平台

    前言 前述博文<基于FFmpeg和Android的音视频同步播放实现>中,我们按照自己的方法实现了一个简单的媒体播放器,并做了音视频同步.但是这个程序在播放更多码流时,遇到了一些问题,包括 ...

最新文章

  1. JAVA虚拟机的重要组成
  2. CF 1529E. Trees of Tranquillity
  3. 17. GD32F103C8T6入门教程-adc 使用教程2-dma+连续扫描方式采集数据++dma中断通知
  4. java面试算法总结_面试10大算法汇总——Java篇
  5. oracle的数据库由,Oracle数据库系统主要由Oracle______组成。
  6. java 元祖_在java中对元组列表进行排序的有效方法
  7. 图文二维码怎么制作?如何将图文变成二维码?
  8. 数据挖掘 模型的衡量标准与建模
  9. [南阳OJ-No.33]蛇形填数|在n*n方陈里填入1,2,...,n*n,要求填成蛇形。
  10. 地图学:专题地图制作详细步骤
  11. .Net Core WebApi 模型验证的处理
  12. 非组蛋白带什么电荷_非组蛋白是构成真核生物染色体的基本结构蛋白, 富含带正电荷的精氨酸( Arg ) 和赖氨酸( Lys ) 等碱 性氨基酸。_学小易找答案...
  13. 数据中台的规划设计理念
  14. 视频里面的音频怎么提取成mp3?
  15. 多线程的实际应用场景
  16. 平安科技从 Oracle 迁移到 UbiSQL 的实践
  17. vue中将UTC时间转换为标准格式时间--十分好用
  18. 【Idea调试】Cannot resolve plugin org.springframework.boot:spring-boot-maven-plugin:3.0.1
  19. 高端水果店进货渠道,想开水果店进货渠道
  20. Javaweb day05

热门文章

  1. 动漫界的ImageNet来了!人脸数据集AnimeCeleb,240万张图片生成「萌萌哒」动漫脸...
  2. Open3d学习计划——6(RGBD图像)
  3. TypeScript - 泛型
  4. excel动态图表ppt_Excel中动态图表的问题
  5. 算法笔记0-1(输入输出,基础数学)
  6. SEO站内优化主要做哪些内容?
  7. Linux下亿图图示安装
  8. DFX分析 包括DFM等
  9. vue里面使用scrollReveal动画滚动的插件实现图片或者文章的动画
  10. 携win32api给大家拜个早年