欢迎来到starnight_cyber的博客

WebRTC Android版本编译

  本文简单介绍如何在Ubuntu18.04 上,编译WebRTC Android版本。

安装工具

  需要用到depot_tools工具来下载webrtc源码。

安装 depot_tools

  git 命令获取 depot_tools。

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

  配置坏境变量:

# echo "export PATH=$PWD/depot_tools:$PATH" > $HOME/.bash_profile
# source $HOME/.bash_profile

  检测配置是否成功:

$ echo $PATH

下载源码

默认master分支

  默认是下载当前最新的源码,即Master分支。

# mkdir webrtc
# cd webrtc
# fetch --nohooks webrtc_android
# gclient sync

特定分支

  如果要编译特定分支,如M74分支,需指定特定分支进行同步。拉取M74分支使用如下命令:(分支提交记录可参考WebRTC分支提交记录

gclient sync -r cc1b32545db7823b85f5a83a92ed5f85970492c9  --force
# commit id 可通过切换到该分支,查看git log,最上面那条记录即为当前分支最新的提交记录

编译

安装编译依赖

  官网只给出第一条,建议两条命令都执行。

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

编译

 编译可指定带或不带AppRTCMobile,带AppRTCMobile生成的Debug目录较小,不带AppRTCMobile生成的文件较多,也更大。

# source build/android/envsetup.sh
# gn gen out/Debug --args='target_os="android" target_cpu="arm64"'
# ninja -C out/Debug AppRTCMobile

  编译过程中,如果没有出错,即表示编译成功。

编译组合

a)编译arm debug版本

    gn gen out/Debug_arm --args='target_os="android" target_cpu="arm"'
    ninja -C out/Debug_arm

b)编译arm64 debug版本

    gn gen out/Debug_arm64 --args='target_os="android" target_cpu="arm64"'
    ninja -C out/Debug_arm64

c)编译arm release版本

    gn gen out/Release_arm --args='target_os="android" target_cpu="arm" is_debug=false'
    ninja -C out/Release_arm

d)编译arm64 release版本

    gn gen out/Release_arm64 --args='target_os="android" target_cpu="arm64" is_debug=false'
    ninja -C out/Release_arm64

此处在生成的out/*名字上做区别,需要自取。

参考

  编译Android版的WebRTC
    https://blog.csdn.net/ericbar/article/details/83114015
  WebRTC iOS&OSX 库的编译
    http://www.enkichen.com/2017/05/12/webrtc-ios-build/

posted @ 2019-08-06 19:15  starnight_cyber  阅读(5046)  评论(0编辑  收藏  举报