剑痴乎

  • 首页
  • 文章分类
    • 音视频
    • WebRTC
    • 编程之美
    • Linux
    • Windows
    • 生活点滴
    • 校园生活
  • 参考
    • API参考
    • 实用工具
    • 测试音视频
    • 文档
  • 留言板
  • 关于
剑痴乎
代码为剑,如痴如醉
  1. 首页
  2. WebRTC
  3. 正文

WebRTC安卓编译

2020年8月17日 1152点热度 4人点赞 2条评论

系统要求

  • 系统:Ubuntu 18.04
  • 磁盘空间:至少16GB磁盘空间

安装工具

1
2
sudo apt-get update
sudo apt-get install -y vim git python

安装depot tools

Shell
1
2
3
4
5
6
7
cd ~
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
 
vi ~/.bashrc
# .bashrc添加如下一行
export PATH="$PATH:~/depot_tools"
source ~/.bashrc

获取代码

1
2
3
4
mkdir webrtc_android
cd webrtc_android
fetch --nohooks webrtc_android
gclient sync

依赖安装

1
2
3
4
5
# webrtc_android
cd src
./build/install-build-deps.sh
./build/install-build-deps-android.sh
. build/android/envsetup.sh

编译

直接使用aar编译工具编译,这里我们指定编译armeabi-v7a与arm64-v8a两种架构。

1
2
# webrtc_android/src
./tools_webrtc/android/build_aar.py --build-dir out --arch "armeabi-v7a" "arm64-v8a"

生成的libwebrtc.aar文件文件位于src目录下,编译过程产生的文件,例如libjingle_peerconnection_so.so位于src/out目录下。

崩溃问题排查

使用addr2line定位WebRTC底层崩溃代码位置。

Shell
1
addr2line -e libjingle_peerconnection_so.so <address>

编译特定版本

这里我们以更新到m79版本为例。

1
2
# 查看可用版本分支
git branch -r

更新WebRTC代码到m79版本:

1
git checkout branch-heads/m79

同时也要更新对应的depot_tools,通过git log查看m79版本对应日期,然后进入depot_tools目录,也使用git log查看与m79版本日期相近的某个版本,并更新到该版本。

Shell
1
2
3
which gclient
# cd to depot_tools dir:~/depot_tools
git checkout ...

最后进入WebRTC目录:

1
2
# webrtc_android
gclient sync

然后参照前面步骤重新编译即可。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: WebRTC
最后更新:2022年3月27日

Jeff

管理员——代码为剑,如痴如醉

点赞
< 上一篇
下一篇 >

文章评论

  • xiaoyu

    这个webrtc的包,我在windows上下过一个超级大的包是编译windows平台的,是不是我要编译android也可以用内个之前下过的大包呀,还是说编译android的包需要重新下载呢

    2021年3月26日
    回复
    • Jeff

      @xiaoyu 最好重新下载

      2021年3月26日
      回复
  • 取消回复

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

    版权声明

    为支持原创,创作更好的文章,未经许可,禁止任何形式的转载与抄袭,如需转载请邮件私信!本人保留所有法定权利。违者必究!

    文章目录
    • 系统要求
    • 安装工具
    • 安装depot tools
    • 获取代码
    • 依赖安装
    • 编译
    • 崩溃问题排查
    • 编译特定版本
    近期评论
    • Richard on WebRTC研究:Encoded Transform楼主你好,图片不见了,可以更新一下嘛?
    • flash91120 on Windows平台WebRTC编译-VS2017楼主,能不能出一期qt上使用webrtc…
    • damon on WebRTC音视频传输基础:NAT穿透太细了,看了眼我自己的笔记,果断直接删除…
    • k on Windows平台WebRTC编译(持续更新)麻烦问一下,我在src文件夹下,运行gn…
    • 小胖子 on WebRTC研究:Transport-cc之RTP及RTCP请教一个问题,在tcc的包里面的base…
    相关文章
    • WebRTC研究:基于Transport Feedback的早期丢包检测
    • Continue,2022,加油
    • WebRTC研究:记一次音频带宽估计引入的异常分析
    • WebRTC研究:Encoded Transform
    • WebRTC研究:统计参数之往返时延

    COPYRIGHT © 2022 jianchihu.net. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang