编译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 文件

总结

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

更多相关文章

  1. 【Android】ImageView设置背景图片报错:Error inflating class Im
  2. Linux下Android手机刷机指南
  3. Android手机游戏的救世主--PSX4Droid
  4. Android(安卓)drawable-v21文件夹下xml文件,手机版本不兼容
  5. 安卓 jni 开发 —— Android(安卓)Studio 打包 so 的坑
  6. 安卓下载安装更新包,各个版本注意事项
  7. Android(安卓)Studio使用jni、so库
  8. 安卓-开发常见问题之修改android工程的jar包版本
  9. Default Activity Not Found 问题总结

随机推荐

  1. 解决Android数据库锁的问题
  2. rmxp4droidV2.3 Final (Android版RMXP模
  3. Android(安卓)- JetPack
  4. android studio导入源码(来自github上下载
  5. Java.lang.UnsatisfiedLinkError :nativeS
  6. Android(安卓)8 原生app 和 第三方app 资
  7. Android中CMake的使用之四调用第三方库的
  8. 如何移植library到android(三)
  9. Android跨进程通信IPC之2——Linux的跨进
  10. 如何防止android app被kill