WebRTC:下载与编译Android版本的WebRTC(M66)

    WebRTC是Google公司开源的一套免费的网页实时音视频通信的解决方案,可以说性能非常强大。可以在Google WebRTC网站https://webrtc.org上下载并使用。

源码 下载

    源码下载需要一套工具,因为Google为WebRTC源码的迁出设计了独立的工具集depot_tools,其实也就是对git和svn的配合使用。工具下载参考https://dev.chromium.org/developers/how-tos/install-depot-tools

    工具下载:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    环境变量:export PATH=`pwd`/depot_tools:"$PATH"

接下来需要创建一个存放WebRTC源码的文件夹这里取名为webrtc-checkout

    mkdir webrtc-checkout
    cd webrtc-checkout
    fetch --nohooks webrtc     //迁出工程

此时源码就已经开始下载了,因为国内网速慢,所以过程可能非常漫长,中间如果有中断的话,执行gclient sync,就能继续下载。

源码 编译

    确保之前的环境已经完全无差错了,就可以进行源码的编译。先进入webrtc-checkout文件夹

    cd webrtc-checkout
    cd src
    ./build/install-build-deps.sh    //安装一些依赖库

    gn gen out/Debug --args='target_os="android" target_cpu="arm"'   // target_cpu还可以是arm64、x86、x86_64

    在上面指令操作之后,在out/Debug文件夹下找到args.gn文件,编辑该文件,添加两行

    rtc_include_tests = false
    rtc_enable_protobuf = false

    或者把这两行添加到上面的指令中去

    
gn gen out/Debug --args='target_os="android" target_cpu="arm" rtc_include_tests=false rtc_enable_protobuf=false'

    就可以编译release版本的webrtc,相对于debug版本,少编译很多文件,因此编译速度更快一点。


    ninja -C out/Debug        // 当前和上一条指令中out/Debug这个路径可以指定

编译完成后进入out/Debug中有apk字样的文件夹下面寻找,就能找到生成的apk文件,然后在android手机上安装,配置服务器,就可以使用了(但是如果不用Google的服务器,自己配置很麻烦的)。                                                        

此外上面安装依赖库的指令不一定有用,官网上面的部署流程中也并没有这一步,即使指令执行成功还是可能存在缺少依赖的问题,比如缺少JDK(编译需要JDK,还要特别注意JDK的版本,我用的是openjdk 1.8)。

你可能感兴趣的:(WebRTC,WebRTC)