linphone-android编译

前言:

现在很多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原理不清楚。面对这个庞大代码库,可以说本人微不足道的英语水平真是捉襟见肘不够用啊,在最后吐血状态下才编译成现在这样,哈哈,比较惭愧。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,233评论 25 709
  • 如果历史可以改变,你愿意回到过去吗? 如果不同时空的我们,为了一个信念,会在同一个时空相遇吗? 如果活在同一时空的...
    法兰城的废墟阅读 2,976评论 0 0
  • Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。你可以通过 ...
    零一间阅读 1,943评论 0 1
  • 秋风吹,树叶黄,不堪寒霜苦,纷纷零落,相对话苍凉。 一片叶,一段伤,提笔泪千行,几阙诗词,焉能诉衷肠?
    缘wxh阅读 3,751评论 7 34
  • 我有一所房子 两个红绿灯间 斑马线上 斑马 总分不清其它斑马 我的房子只有一个窗户 我们轮流踮脚,凝视外面 许多时...
    张天狗阅读 988评论 2 1