WebRTC Android版本编译
本文简单介绍如何在Ubuntu18.04 上,编译WebRTC Android版本。
安装工具
需要用到depot_tools工具来下载webrtc源码。
安装 depot_tools
git 命令获取 depot_tools。
# git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
配置坏境变量:
# echo "export PATH=$PWD/depot_tools:$PATH" > $HOME/.bash_profile
# source $HOME/.bash_profile
检测配置是否成功:
$ echo $PATH
下载源码
默认master分支
默认是下载当前最新的源码,即Master分支。
# mkdir webrtc
# cd webrtc
# fetch --nohooks webrtc_android
# gclient sync
特定分支
如果要编译特定分支,如M74分支,需指定特定分支进行同步。拉取M74分支使用如下命令:(分支提交记录可参考WebRTC分支提交记录)
gclient sync -r cc1b32545db7823b85f5a83a92ed5f85970492c9 --force
# commit id 可通过切换到该分支,查看git log,最上面那条记录即为当前分支最新的提交记录
编译
安装编译依赖
官网只给出第一条,建议两条命令都执行。
# ./src/build/install-build-deps.sh
# ./src/build/install-build-deps-android.sh
编译
编译可指定带或不带AppRTCMobile,带AppRTCMobile生成的Debug目录较小,不带AppRTCMobile生成的文件较多,也更大。
# source build/android/envsetup.sh
# gn gen out/Debug --args='target_os="android" target_cpu="arm64"'
# ninja -C out/Debug AppRTCMobile
编译过程中,如果没有出错,即表示编译成功。
编译组合
a)编译arm debug版本
gn gen out/Debug_arm --args='target_os="android" target_cpu="arm"'
ninja -C out/Debug_arm
b)编译arm64 debug版本
gn gen out/Debug_arm64 --args='target_os="android" target_cpu="arm64"'
ninja -C out/Debug_arm64
c)编译arm release版本
gn gen out/Release_arm --args='target_os="android" target_cpu="arm" is_debug=false'
ninja -C out/Release_arm
d)编译arm64 release版本
gn gen out/Release_arm64 --args='target_os="android" target_cpu="arm64" is_debug=false'
ninja -C out/Release_arm64
此处在生成的out/*名字上做区别,需要自取。
参考
编译Android版的WebRTC
https://blog.csdn.net/ericbar/article/details/83114015
WebRTC iOS&OSX 库的编译
http://www.enkichen.com/2017/05/12/webrtc-ios-build/
WebRTC Android版本编译的更多相关文章
- 编译 Android 版本的 Opus 音频编解码库的方法
Opus 音频编解码库是 Speex 音频编解码库的下一代版本,从编解码性能以及质量上来讲都有了长足的进步.Opus 的编译非常简单,但是官方并未给出详细的 Android 版本编译指南,查找了大量资 ...
- windows下编译Android版本的boost库文件
1.起因: 手上有一个用到了boost的asio库和thread库的工程要编译到手机上(Android版本和ios版本),本文只介绍如何编译到Android版本,ios版本之后再介绍,也许就不介绍了( ...
- Android Studio xcode单步调试 WebRTC Android & iOS
mac环境 如何在 Android Studio 里单步调试 WebRTC Android 的 native 代码. WebRTC 代码下载 depot tools 是 chromium 代码库管理工 ...
- 加密通信软件Signal 2.92版本编译安装折腾手记(Ubuntu 18.04)
加密通信软件Signal 2.92版本编译安装折腾手记(Ubuntu 18.04) 前言 加密通信软件Signal是开源的,安全性很高,号称斯诺登也推荐大家使用.既然这么好,那必然会有不少人去尝试复制 ...
- Delphi XE5 支持的Android 版本
Delphi XE5 已经支持Android应用开发. 那XE5支持Android的哪些版本呢?Delphi编译的APP能部署到Gingerbread (2.3.3-2.3.7), Ice Crea ...
- Mac下设置Android源代码编译环境
在Mac下编译Android最麻烦的就是设置Android的编译环境了,做完这一步基本上剩下的就是近乎傻瓜式的操作了.说起来也简单就三步,设置大小写敏感的文件系统.安装编译工具.设置文件系统同时能打开 ...
- Android反编译(二)之反编译XML资源文件
Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具 apktool http ...
- [Android] 如何查看apk需要支持的Android版本
reference to : http://blog.csdn.net/huiguixian/article/details/39928089 如果有一个apk,需要知道他最低安装支持的Android ...
- eclipse 和 android studio 编译时报 Unsupported major.minor version 52.0错解决办法
version 52.0 是java8的环境.当gradle tools 升级到2.2.1时候,可能编译时候会报该错误. 很多网友说更改java version,但是很多时候无效.下面是我遇到时候的解 ...
随机推荐
- rep()函数简介
rep()函数:重复 rep(x,...) rep.int(x,times) rep_len(x,length.out) ·x:一个向量(vector),一个因子(factor),一个POSIXct或 ...
- c 程序之 最大公约数 和 最小公倍数
1.最大公约数 30 10 -> 10 #include<stdio.h> /* 求最大公约数 辗转相减法 36 --16 4 */ int main(){ int a, ...
- 安装破解版IntelliJ IDEA
1.下载IntelliJ IDEA http://www.jetbrains.com/idea/download/#section=windows 选择Ultimate版本 2.注册码破解 http: ...
- replace find join
>>> s='spam' >>> s=s.replace('m','111') >>> s 'spa111' >>> where ...
- Java修炼——FileInputStream和FileOutputStream
文件字节流FileInputStream是读文件内容 有一下五个方法 1) abstract int read( ); 2) int read( byte b[ ] ); 3) int read( b ...
- Java修炼——递归算法的俩个实例
1.是输出指定文件目录下的所以子目录以及文件 2.使用递归算算法:1!+2!+3!+4!+5!+-+n!(计算阶乘累加) package com.bjsxt.recurison; import jav ...
- [TimLinux] scrapy 在Windows平台的安装
1. 安装Python 这个不去细说,官网直接下载,安装即可,我自己选择的版本是 Python 3.6.5 x86_64bit windows版本. 2. 配置PATH 我用的windows 10系统 ...
- 用Python写一个游戏脚本,你会吗?
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:ivat4u 学习python有一段时间了,由于python语言的强大 ...
- ARTS-S ISO C
一些简称 ANSI: American National Standards Institute. ANSI是the International Organization for Standardiz ...
- 简单了解一下K8S,并搭建自己的集群
距离上次更新已经有一个月了,主要是最近工作上的变动有点频繁,现在才暂时稳定下来.这篇博客的本意是带大家从零开始搭建K8S集群的.但是我后面一想,如果是我看了这篇文章,会收获什么?就是跟着步骤一步一走吗 ...