二 Ubuntu下编译WebRtc-Android

目录

一 docker方式

二Ubuntu虚拟机方式

三 拉取webrtc代码

四 编译

1 设置编译参数,生成ninja文件

2 编译生成 .a文件和.so 文件

3 编译生成aar

五编译错误锦集

1  find local lib sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

2 erro No module named 'dataclasses'


编译WebRtc代码  谷歌建议在Linux 系统下进行编译Android

在 Mac 上常用方式有两种

1docker方式

2Ubuntu虚拟机方式

一 docker方式

安装docker

下载docker镜像

已经配置好了WebRTC Android/Linux开发所需要的环境

但本人在macos 11.3.1 版本通过Docker Desktop3.5版本

编译webrtc代码时docker会莫名奇妙崩溃



二 Ubuntu虚拟机方式

Ubuntu安装具体查看

一 Mac安装Ubuntu_zrjliming的博客-CSDN博客_mac安装ubuntu

注意 磁盘容量一定要50G以上,因为系统本身就很大,加上源码下载完就要20G,随便就超过35G


三 拉取webrtc代码

1下载depot_tools

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

下载完之后需要设置环境变量vi ~/.bashrc,增加以下内容

export PATH=$PATH:/path/depot_tools

二 Ubuntu下编译WebRtc-Android_第1张图片

 

在当前环境变量追加路径, #path是自己的depot_tools文件夹的上级路径 ``` 完了,执行`source ~/.bashrc`,然后执行`which gn`或者`which gclient`测试下,有过有内容说明设置成功

2 务必确保在环境下载源码

cd webrtc
fetch --nohooks webrtc_android
#上条命令执行完后,可以编辑当前目录下的.gclient文件
#在taget_os里加上linux,这样这套代码也就可以用于Linux开发了

3、如果中途失败,就执行以下命令gclient sync
4、执行./build/install-build-deps.sh,这里会下载很多依赖



四 编译

1、设置编译参数,生成ninja文件

gn gen out/release4/arm64-v8a --args='target_os="android" target_cpu="arm64" is_debug=false rtc_use_h264=true rtc_include_tests=false rtc_build_examples=false use_custom_libcxx=false treat_warnings_as_errors=false'

2 编译生成 .a文件和.so 文件

ninja -C out/release4/arm64-v8a

生成的目录

二 Ubuntu下编译WebRtc-Android_第2张图片

二 Ubuntu下编译WebRtc-Android_第3张图片

3 编译生成aar

python tools_webrtc/android/build_aar.py --output "libwebrtc.aar" --arch "arm64-v8a" --build-dir out/release


五编译错误锦集

1  find local lib sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/zhourj/rtc/code/src/out/Debug/arm/clang_x64/protoc)

Protoc has returned non-zero status: 1

find local lib sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

安装GLIBCXX_3.4.26

https://blog.csdn.net/IOIO_/article/details/84001071

2 erro No module named 'dataclasses'

pip3 install dataclasses

你可能感兴趣的:(音视频,webrtc,ubuntu,rtc)