Google WebRtc 编译

Google WebRtc 编译

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

网络环境自行搭建好

Depot Tools

LINUX / MAC

安装 Depot Tools

链接:https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up

下载代码

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

设置环境变量

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

下载 webrtc

链接:https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/android_build_instructions.md

  • 创建目录

    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 --list" for available build arguments.

is_debug = false
target_os = "android"
target_cpu = "arm"
target_cpu = "x86"
target_cpu = "x64"

直接设置配置
gn gen out/debug/armeabi-v7a --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 参数配置详情

链接:https://gn.googlesource.com/gn/+/refs/heads/main/docs/quick_start.md

开始编译

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

微信公众号(他晓)

你可能感兴趣的:(Google WebRtc 编译)