美文网首页webrtcWebRTC
WebRTC-ios源码下载及编译流程

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

作者: 孤独的创作者 | 来源:发表于2017-03-16 13:30 被阅读573次

    注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']

    },

    相关文章

      网友评论

      • 孤独的创作者:我没看懂你的意思???
        狼牙破军:@孤独的创作者
        hehe:~ Sidney$ cd webrtc-ios/
        hehe:webrtc-ios Sidney$ cd src/
        hehe:src Sidney$ ./build/install-build-deps.sh
        ERROR: lsb_release not found in $PATH
        提示这个错误。。。。
        孤独的创作者:@狼牙破军 Mac
        狼牙破军:cd src/build/install-build-deps.sh你这句是在Linux环境下编译的还是在Mac环境编译的额
      • 狼牙破军:gclient sync//代码下载过程中如果发生中断,使用gclient sync同步就可以了

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

        1.编译Mac OS AppRTCMobile

        中的:
        cd src/build/install-build-deps.sh(只需要在第一次gclient sync以后执行一次)
        这句是错误的吗?

      本文标题:WebRTC-ios源码下载及编译流程

      本文链接:https://www.haomeiwen.com/subject/nbxjnttx.html