JCHub

  • Home
  • Category
    • A/V
    • WebRTC
    • Beauty of Programming
    • Linux
    • Windows
    • Moments of Life
    • Campus Life
  • Reference
    • API Reference
    • Utilities
    • AV Test
    • Doc
  • Message Board
  • About
JCHub
Code as My Sword, Lost in Obsession
  1. Main page
  2. WebRTC
  3. Main content

WebRTC安卓编译

2020年8月17日 3932hotness 7likes 2comments

系统要求

  • 系统: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
cd ~
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
echo 'PATH=$PWD/depot_tools:$PATH' >> ~/.bashrc
source ~/.bashrc

获取代码

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

gclient sync也可以拆分为如下两步执行:

1
2
gclient sync --nohooks
gclient runhooks -v

依赖安装

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

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

This article is licensed with Creative Commons Attribution-NonCommercial-No Derivatives 4.0 International License
Tag: WebRTC
Last updated:2025年8月18日

Jeff

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

Tip the author Like
< Last article
Next article >

Comments

  • xiaoyu

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

    2021年3月26日
    Reply
    • Jeff

      @xiaoyu 最好重新下载

      2021年3月26日
      Reply
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    Cancel

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    文章目录
    • 系统要求
    • 安装工具
    • 安装depot tools
    • 获取代码
    • 依赖安装
    • 编译
    • 崩溃问题排查
    • 编译特定版本
    Related Posts
    • 浅谈基于SFU实现一对一效果
    • WebRTC资讯:H265支持进展
    • Protected: WebRTC硬件编解码器出错无缝切换软编软解
    • WebRTC研究:Audio level
    • Mac平台WebRTC编译
    Categories

    COPYRIGHT © 2026 jianchihu.net. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang