linphone

linphone-android编译

2017-07-31  本文已影响0人  林天佐

前言:

现在很多it公司都有做网络免费电话的意愿,而老牌开源项目Linphone遵从sip协议是很多猿们的首选,我也不例外。刚接触Linphone时我的状态就是懵比,一直到现在我都是处于懵比状态,但是编译之后的代码运行在可移动设备上稳定性还是挺好的,但是我司偏偏要插个网线并且还要固定ip,这对网络环境要求高的linphone不异于外来物种入侵,我是改了一个bug发现另一个bug,而且都是anr,卧擦。可是最终发现这些bug的出现都伴有一个规律,那就是外网环境不通。我遇到过设备在设定了固定ip之后,换网段anr、子网掩码设置错误anr、网关设置错anr。这些坑都一一跳过,才发现这个世界是多么美好,这是我编译的第一个开源项目,就此总结经验,希望大家多多指教。

Linphone项目结构,全部展开有一米七,我真是吐了一口老血,噗。噗。噗。:

编译后的源码    密匙:aqsj

Linphone源码编译java层主要有几个类:

LinphoneManager、LinphoneActivity、LinphoneService、LinphoneCore、LinphoneUtil等,为了不受影响,包名还是org.linphone不要动。

1> LinphoneManager 操作包,初始化以及各状态的实现

2> LinphoneActivity为主界面

3> LinphoneService定义了各种监听器

4> LinphoneCore主要实现的通信

Linphone的库

VIDEO.SDK

mediastreamer2  多媒体sdk用于音视频解码

ORTP网络协议库

exosip2为用户的代理库

Linphone的seeting为系统设置

我遇到的问题

关于操作系统底层的硬件结构不清楚,如何为c语言程序提供java接口、以及Android的ndk原理不清楚。面对这个庞大代码库,可以说本人微不足道的英语水平真是捉襟见肘不够用啊,在最后吐血状态下才编译成现在这样,哈哈,比较惭愧。。。

上一篇下一篇

猜你喜欢

热点阅读