来自 金沙澳门官网网址 2019-09-15 15:18 的文章
当前位置: 金沙澳门官网网址 > 金沙澳门官网网址 > 正文

WebRtc编译好的vs2015源码

  1. 一直想看webrtc的源码,苦于FQ能力有限且整个编译过程耗时巨大,故求助于互联网。在互联网寻找许久编译好的Webrtc源码,好多版本下载下来总是报各种错误,很是失落。
  2. 皇天不负有心人,终于寻得一版可用的WebRtc源码。具体从哪个网站找的已经记不起来了,不过还是感谢分享者。
  3. 共享给大家: 链接: 密码: u37i
  4. 简单说一下:共享文件中两个文件,第一个depot_tools解压缩,然后添加到环境变量。然后解压缩开始编译webrtc代码
  5. 说下我的编译环境:vs2015
  6. 金沙澳门官网网址 1
  7. 金沙澳门官网网址 2
  8. 嗯 时间不早了,下一步要开始研究源码了。初步计划从PeerConnectionClient和server demo跑起。

版本编译

一、编译参数指定

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工程。

项目结构

由于生成的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文件的依赖分析查看源码文件夹的引用路径。

源码下载

如果想修改源码,恭喜你,你需要自己编译源码。
webrtc编译说起来,编译既困难又简单;困难在源码规模太大,国内同步代码频繁出问题,简单在于谷歌已经将繁杂的编译过程整合成简单明了的编译脚本命令。
强调一点:下面的编译操作是基于Linux环境。

一、安装编译依赖环境
webrtc的编译环境依赖于谷歌的编译环境,也就是 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

当源码下载完备后,执行环境配置脚本,会帮你检测并安装编译所需要的依赖库和工具。

本文由金沙澳门官网网址发布于金沙澳门官网网址,转载请注明出处:WebRtc编译好的vs2015源码

关键词: