Google WebRtc 编译

2,601 阅读1分钟

Google WebRtc 编译

前段时间有同学留言如何编译 webrtc,写给需要的你,关注微信公众号 他晓,进开发群,一起探讨

网络环境自行搭建好

QQ 群:686809487

Depot Tools

LINUX / MAC

安装 Depot Tools

链接:commondatastorage.googleapis.com/chrome-infr…

下载代码

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

设置环境变量

export PATH=/path/to/depot_tools:$PATH

下载 webrtc

链接:chromium.googlesource.com/chromium/sr…

  • 创建目录

    mkdir webrtc

  • 进入目录执行

    fetch --no-history webrtc_android (下载最新的)

    fetch --nohooks webrtc_android (下载全部)

  • 下载完成

    gclient sync

编译 webrtc

./build/install-build-deps.sh

./build/install-build-deps-android.sh

在这里插入图片描述
在这里插入图片描述

执行报错时,根据提示输入如下

./build/install-build-deps.sh --no-chromeos-fonts

配置编译参数

gn args out/release/

会提示输入参数

在这里插入图片描述
在这里插入图片描述
# Build arguments go here.
# See "gn args <out_dir> --list" for available build arguments.
is_debug = false
target_os = "android"
target_cpu = "arm"
target_cpu = "x86"
target_cpu = "x64"

直接设置配置
gn gen out/release --args='target_os="android" target_cpu="arm" is_debug=false'

--args后面跟随的是配置参数,target_cpu表示AndroidCPU架构,编译其他CPU架构如下:

ARM64: target_cpu="arm64"
32-bit x86: target_cpu="x86"
64-bit x64: target_cpu="x64"

默认debug 
is_debug=false 

gn 参数配置详情

链接:gn.googlesource.com/gn/+/refs/h…

开始编译

ninja -C out/release

如果编译成功则会看到如下 out/release 文件夹

在这里插入图片描述
在这里插入图片描述
主要获取的文件
out/release/lib.java/sdk/android/libwebrtc.jar
out/release/libjingle_peerconnection_so.so

清空缓存 gn clean out/release

编译报错问题

ModuleNotFoundError: No module named 'dataclasses'

在这里插入图片描述
在这里插入图片描述

安装 dataclasses

pip3 install dataclasses (python3)

pip install dataclasses (python2)

后续

Android Ios 编译类似

Android:

fetch --nohooks webrtc_android

gclient sync

./build/install-build-deps.sh


Ios

fetch --nohooks webrtc_ios

gclient sync

微信公众号(他晓),关注并转发,谢谢