WebRTC-ios源码下载及编译流程

注1:本文档适用webrtc-ios源码的下载和编译;

注2:下载编译所使用的操作系统为mac 终端;

Chromium和Chromium OS统一使用一个叫做depot_tools的工具的对其源码进行checkout的管理(这有点类似于Android使用repo工具对其源码进行管理一样),作为Chromium其中一个子模块的webrtc而言,也是使用这个工具对其代码进行checkout。这个depot_rools包里面包含了gclient、gcl、git-cl、repo等工具。

下载depot_tools工具包并放到标准路径PATH上:

  首先确保mac上安装了Git 2.2.1以上版本,以及Python 2.7以上版本;

 git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

  修改root目录中的.bash_profile文件,.bash_profile文件是一个隐藏文件,可在root目录下使用命令ls -a将隐藏文件显示出来,然后vi .bash_profile 进行编辑,增加:export PATH=$PATH:‘pwd’/depot_tools:$PATH,然后按Esc + shift + 冒号,输入wq,进行保存。注意一定要把depot_tools的位置放在PATH的最前面;

参考:https://dev.chromium.org/developers/how-tos/install-depot-tools

下载webrtc-ios代码及编译流程(首先要先按照以上步骤下载depot_tools ):

mkdir webrtc-ios

cd webrtc-ios

fetch --nohooks webrtc_ios

gclient sync//代码下载过程中如果发生中断,使用gclient sync同步就可以了

cd src/build/install-build-deps.sh(只需要在第一次gclient sync以后执行一次)

1.编译Mac OS AppRTCMobile

gn gen out/Debug

ninja -C out/Debug

2编译64位真机 AppRTCMobile

gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'

ninja -C out/ios_64

安装AppRTCMobile :

WebRTC代码后期更新的三种方式(在src目录下):

 当前代码在某个分支下进行维护,使用git pull可以拉取远程仓库的最新更新;

   当前代码不在分支下,使用git fetch取下来最新的git仓库更新;

   需要定期更新依赖或者其他第三方库,使用gclient sync命令;

参考:https://webrtc.org/native-code/ios/

附录:

1.webrtc-ios版本下载过程中 $ gclient sync时出现的问题

问题描述:

出现Hook 'download_from_google_storage --directory --recursive --num_threads=10 --no_auth --quiet --bucket chromium-webrtc-resources src/resources' took 8760.95 secs 后,不执行了。

解决办法:

找到src/DEPS文件,将下面这几行代码注释掉

{

 # Download test resources, i.e. video and audio files from Google Storage.

'pattern': '.',

 'action': ['download_from_google_storage',

'--directory',

 '--recursive',

  '--num_threads=10',

'--no_auth',

 '--quiet',

 '--bucket', 'chromium-webrtc-resources',

'src/resources']

},

你可能感兴趣的:(WebRTC-ios源码下载及编译流程)