编译WebRTC之Android版本(AppRTC工程编译)
16lz
2021-01-25
编译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 webrtccd webrtcfetch --nohooks webrtc_androidgclient 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.shninja -C out/Debugninja -C out/Debug AppRTCMobile
成功后在 webrtc\src\out\Debug\apks 目录下会生成 AppRTCMobile.apk 文件
总结
参考了很多文章,所以比较顺利,并没有出现太多问题。主要网络畅通,基本一路绿灯。
更多相关文章
- 【Android】ImageView设置背景图片报错:Error inflating class Im
- Linux下Android手机刷机指南
- Android手机游戏的救世主--PSX4Droid
- Android(安卓)drawable-v21文件夹下xml文件,手机版本不兼容
- 安卓 jni 开发 —— Android(安卓)Studio 打包 so 的坑
- 安卓下载安装更新包,各个版本注意事项
- Android(安卓)Studio使用jni、so库
- 安卓-开发常见问题之修改android工程的jar包版本
- Default Activity Not Found 问题总结