编译WebRTC之Android版本(AppRTC工程编译)

编译WebRTC之Android版本(AppRTC工程编译)

    • 前言
    • 准备工作
    • 下载源码
    • 编译依赖库
    • 总结

前言

最近有项目需要用到android与web互通音视频,甚至与原生windows互通,很久没编译过了,所以今天亲自编译一下,并记录下来。

准备工作

安卓下的编译只能在Linux系统上执行,所以必不可少的就是一台linux服务器,虚拟机亦可。推荐Ubuntu 16.04 TLS及以上版本,硬盘预留20G+。当然最重要的一点是你要能科学上网,在此不再赘述。

下载源码

  • 下载depot_tools工具,执行如下命令,稍等片刻,
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  • 把加入环境变量,方便后面使用,
export PATH="$PATH:/HOME/XXX/XXX/depot_tools"
  • 下载WebRTC代码
mkdir webrtc
cd webrtc
fetch --nohooks webrtc_android
gclient sync

编译依赖库

  • 安装编译依赖的包,执行下面的脚本,保险起见下面两个都执行一下。
./src/build/install-build-deps.sh
./src/build/install-build-deps-android.sh
  • 编译代码,用GN工具生产工程,确保你在 src/目录下,然后执行
gn gen out/Debug --args='target_os="android" target_cpu="arm"'
你可以使用out/Debug目录之外的其他目录,来存放不同平台的编译结果
编译ARM64平台: 使用 target_cpu=“arm64”
编译32-bit x86平台:使用 use target_cpu=“x86”
编译64-bit x64平台: 使用 use target_cpu=“x64”

如果你想编译Relesae版本,在参数中加入is_debug=false

gn gen out/Release --args='is_debug=false target_os="android" target_cpu="arm"'
  • 最终编译
. build/android/envsetup.sh
ninja -C out/Debug
ninja -C out/Debug AppRTCMobile

成功后在 webrtc\src\out\Debug\apks 目录下会生成 AppRTCMobile.apk 文件

总结

参考了很多文章,所以比较顺利,并没有出现太多问题。主要网络畅通,基本一路绿灯。

你可能感兴趣的:(webrtc,AppRTC,WebRTC)