webrtc android编译

由于众所周知的原因,需要先解决防火墙问题,我用的locovpn(http://locovpn.ltd/

安装depot tool

git clonehttps://chromium.googlesource.com/chromium/tools/depot_tools.git

export PATH=`pwd`/depot_tools:"$PATH"  //将fetch、gclient等命令加入环境变量。

下载代码

fetch --nohooks webrtc_android  //下载android版本

gclient sync -v  //fetch或者gclient中途失败退出可再次运行gclientsync续传

注:下载代码大概需要几个小时,大小有16g。webrtc本身代码并不大,但是依赖的库比较大,主要是third_party比较多。

安装编译工具

在下载的目录下执行

src/build/install-build-deps.sh

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

编译

//编译arm32位版本

gn gen out/arm--args='target_os="android" target_cpu="arm”’

ninja -C out/arm

//编译arm64位版本

gn gen out/arm64--args='target_os="android" target_cpu="arm64”’

ninja -C out/arm64

注:默认没有把ffmpeg和openh264编译进去,这样在android上不能用h264软编解码。如果需要开启,修改src/webrtc/webrtc.gni文件,修改rtc_use_h264 =true,然后再重新执行编译命令(gn gen xxx和ninja xxx)

webrtc.gni中两个变量定义:

proprietary_codecs在src/build/config/features.gni中定义,一般为false。

build_with_chromium在src/build_overrides/build.gni中定义为false


欢迎关注微信公众号 videocodec


猜你喜欢

转载自blog.csdn.net/lipku/article/details/70474147