Google WebRtc 编译
前段时间有同学留言如何编译 webrtc,写给需要的你,关注微信公众号 他晓,进开发群,一起探讨
网络环境自行搭建好
Depot Tools
LINUX / MAC
安装 Depot Tools
下载代码
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 <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/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
网友评论