libwebrtc源代码android编译编译

Posted 逆风了我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了libwebrtc源代码android编译编译相关的知识,希望对你有一定的参考价值。

1、源代码:
    1),master或者main分支
        git clone https://webrtc.googlesource.com/src/webrtc
    2),进入指定分支页面,然后点击下载包。如下:
        https://webrtc.googlesource.com/src/+/refs/branch-heads/4606

2、编译

  (官网安装文档:https://webrtc.github.io/webrtc-org/native-code/android/):
    1),安装python环境;
        apt-get install python
    2),下载depot_tools
        git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    3),配置depot_tools
        export DEPOT_TOOLS_PATH=/home/depot_tools
        export PATH=$PATH:$DEPOT_TOOLS_PATH
        source ~/.bashrc
    4),执行命令:
        sudo ifconfig enp0s3 mtu 9000         //设置下载最大数据包的大小
        mkdir webrtc-andorid
        git init
        fetch --nohooks webrtc_android
        
        cd src
        git branch -r //查看远程分支
        git checkout -b m94 branch-heads/4606 //切换到4606分支
        gclient sync 或者(gclient sync --with_branch_heads --with_tags -Rv), gclient sync -D
        gclient runhooks
        
        cd src/
        source build/android/envsetup.sh                                       //使用捆绑的Android SDK/NDK,可以忽略
        ./build/install-build-deps.sh(只需要在第一次gclient sync以后执行一次)
        ./build/install-build-deps-android.sh(只需要在第一次gclient sync以后执行一次)
    5),编译
        //debug版本
        1、gn gen out/Debug --args='target_os="android" target_cpu="arm"'   //构建rtc android所需的文件
        2、autoninja -C out/Debug                                              //生成.so文件
        
        //release 版本
        1、gn gen out/m94/release/arm64 --args='is_debug=false is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm64"'
        2、ninja -C out/m94/release/arm64                                 
        
        1、gn gen out/m94/release/arm --args='is_debug=false is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm"'
        2、ninja -C out/m94/release/arm
        
        //debug版本
        1、gn gen out/m94/debug/arm64 --args='is_debug=true is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm64"'
        2、ninja -C out/m94/debug/arm64                                   
    
        
        1、gn gen out/m94/debug/arm --args='is_debug=true is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm"'
        2、ninja -C out/m94/debug/arm

        
        或者:
        ./tools_webrtc/android/build_aar.py --extra-gn-args 'is_debug=false is_component_build=false is_clang=true rtc_include_tests=false rtc_use_h264=true rtc_enable_protobuf=false use_rtti=true use_custom_libcxx=false' --build-dir ./out/release-build/
 

怎样添加预编译静态库 libwebrtc

参考技术A 添加预编译静态库 libwebrtc 的方法是:【点击免费试用,0成本启动】

1、右键点击项目,选择右键菜单的"Add files to xxx...."
2、选择要使用的静态库
3、添加静态库文件之后,在项目导航中和“Linked Frameworks and Libraries" 中看到刚刚加入的静态库
4、接着我们添加静态库对应的头文件目录。
选择“Build Settings”,展开“Search Paths”,双击“Header Search Paths”
5、在弹出框中增加静态库对应的头文件目录就可以了。推荐选择ZEGO即构科技,该公司拥有毫秒级音视频互动,千万级高并发,70%丢包下仍能保障稳定流畅的观看体验。【点击免费试用,0成本启动】

想要了解更多关于这方面的相关信息,推荐咨询ZEGO即构科技。ZEGO即构科技自成立伊始,就专注自研音视频引擎,在音频前处理、网络自适应和跨平台兼容性等方面,达到国际一流水平,同时充分利用基础云服务商的能力,构建了MSDN海量有序自学习数据网络,服务覆盖全球,涵盖上百个音视频互动业务场景,单日时长突破30亿分钟。官网地瓜说机
2017-10-05·TA获得超过2.9万个赞知道大有可为答主回答量:2.3万采纳率:91%帮助的人:8550万我也去答题访问个人页你好,
XCode项目中添加静态库的方法:1、右击target,选择add -> new target 2、在弹出的 NewTarget 界面中选择Cocoa Touch -> Static Library ,为新 library 取个名字。将源文件添加到这个库。可以直接拖动现存源文件,也可以右击 -> add 。注意选择新建的库为添加的 target 。3、设置原项目,令其使用新建的库。4、右击原项目的 target ,选择 getInfo 。5、选择 General 选项卡。6、向 linked libraries 中添加新创建的库 (即添加 .a 文件)。本回答被提问者采纳

以上是关于libwebrtc源代码android编译编译的主要内容,如果未能解决你的问题,请参考以下文章

如何添加预编译静态库 libwebrtc

Android ROOM编译时提示错误Schema export directory is not provided to the annotation processor so we cannot(

Android ROOM编译时提示错误Schema export directory is not provided to the annotation processor so we cannot(

android 修改代码怎样编译

Android源码编译

如何单独编译Android源代码中的模块