图片 2

WebENCOREtc编译好的vs二〇一六源码

  1. 直接想看webrtc的源码,苦于FQ本事轻松且所有事编写翻译进程耗费时间巨大,故求助于网络。在互联网搜寻许久编写翻译好的Webrtc源码,繁多本子下载下来总是报各类错误,相当伤心。
  2. 皇天不负有心人,终于寻得一版可用的Web奥迪Q5tc源码。具体从哪个网址找的已经记不起来了,然而依旧谢谢分享者。
  3. 分享给大家: 链接:
    密码: u37i
  4. 大概说一下:分享文件中七个文件,首个depot_tools解压缩,然后增加随地境变量。然后解压缩起头编写翻译webrtc代码
  5. 说下本人的编写翻译情状:vs二〇一五
  6. 图片 1
  7. 图片 2

  8. 时间不早了,下一步要开首斟酌源码了。伊始安排从PeerConnectionClient和server
    demo跑起。

前言

webrtc是Google收购并开源的三个协助实时音录像对话的技能。
官网是:https://webrtc.org

OK,介绍就疑似此多。

预备干活

若是不盘算修改webrtc相关源码,建议并不是去折腾编写翻译那些源码工程。
向来援用已经编写翻译好的主旨库(Maven只怕Gradle):

认准官方门路:(只示例Gradle方式的)

compile 'org.webrtc:google-webrtc:1.0.+'   // + 可以换成对应版本号

连锁版本能够在
https://bintray.com/google/webrtc/google-webrtc
这里询问,这些应该会持续更新。
PS:+替换的本子号必供给去地方网站里面查询是不是存在该版本。

有历史的民间门路:

compile 'io.pristine:libjingle:11139@aar'

连带版本可以在
http://mvnrepository.com/artifact/io.pristine/libjingle
进行询问,当初翻新挺频仍,这两天两七年没更新了,权当个牵记吧。

源码下载

如果想修改源码,恭喜您,你须要团结编写翻译源码。
webrtc编写翻译说到来,编写翻译既费力又简便;困难在源码规模太大,国内同步代码频仍出难题,轻易在于谷歌(Google)现已将混乱的编写翻译过程整合成老妪能解的编写翻译脚本命令。
重申一点:下边包车型客车编写翻译操作是基于Linux境遇。

一、安装编写翻译注重意况
webrtc的编写翻译遭逢正视于Google的编写翻译情况,也正是 depot_tools。
很简短,就七个clone源码到地点

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

此处要求设置情况变量

export PATH=$PATH:/path/depot_tools  #在当前环境变量追加路径

注意:path是你depot_tools文件夹所在的地址,必要替换为科学的渠道。

测量检验情况变量是还是不是配备成功:

which gn 或者 which gclient  #which指令会在环境变量设置的目录里查找执行文件

一旦出口了前方配置的depot_tools文件夹地址,则是安插成功!

官方网址参谋:http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot\_tools/docs/html/depot\_tools\_tutorial.html\#\_setting\_up

二、下载项目源码

1、希图干活
钦点二个职分贮存webrtc源码,非常须要注意的是当下硬盘存款和储蓄空间必要不菲于20GB。

mkdir webrtc
cd webrtc

2、代码同步

fetch --nohooks webrtc_android
gclient sync

以此大意会15-20GB的公文要求下载(版本持续迭代),同步速度决定于你的VPN给不给力。
3、信任遭受布置(编写翻译情况只须求举办一遍)

cd src
./build/install-build-deps.sh

当源码下载完备后,推行意况布署脚本,会帮你检查评定并安装编译所急需的信任库和工具。

本子编写翻译

一、编写翻译参数钦点

gn gen out/build --args='target_os="android" target_cpu="arm" is_debug=false'

out/build : 编写翻译生成文件的目录,随便钦点
target_os : 编写翻译指标平台 android ios 等
target_cpu : CPU架构平台 arm arm64 x86 x64等
is_debug : Release格局恐怕Debug方式

二、施行编写翻译
是因为是全量编写翻译,所以时间有个别有一些长,看机器品质。

ninja -C out/build

生成Gradle项目文件

build/android/gradle/generate_gradle.py --output-directory $PWD/out/build \
--target "//examples:AppRTCMobile" --use-gradle-process-resources \
--split-projects --canary

试行实现,能够在out/build/目录下会变动三个gradle的文本夹,使用Android
studio该gradle目录就可以运转demo工程。

Release版本

鉴于webrtc是绵绵在master分支开辟的,所以我们一遍开采webrtc最佳基于稳固的release版本。
查找库上的release版本

git branch -r

然后checkout到相应的release版本

git checkout -b my_branch branch-heads/66  #切换到M66版本
gclient sync  #同步对应版本的代码

问题1:
一经寻觅不到相应的release版本,那恐怕是本土源码历史太久远了(2016-3-24原先的本子)
内需进行

gclient sync --with_branch_heads
git fetch origin

然后查看 .git/config

fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*

则消除难点。

问题2:
假定checkout了相比早的版本,举个例子branch-heads/5* 版本
实施 gclient sync 会报联合错误
是因为 depot_tools 的源码太新,导致与webrtc源码不相配,能够将
depot_tools 工程复苏到与
webrtc目的release版本左近些日子期的工程源码来举办协同编写翻译。

品种协会

是因为变化的gradle工程的源码并非坐落贰个职位,何况发散在webrtc各样文件夹中,能够将各样对应文件夹下的源码文件整合到一起。
java源码目录如下:

#android端demo工程源码
examples/androidapp/src  
#lib源码
modules/audio_device/android/java/src  
base/android/java/src  
rtc_base/java/src  
sdk/android/api 
sdk/android/src/java 
#so库,位于编译目录下
libjingle_peerconnection_so.so

PS:可以自身通过gradle文件的依附深入分析查看源码文件夹的引用路径。