阿里云下载编译 WebRTC 及 WinSCP 下载相应 so 和 Java 源代码

一、安装依赖

sudo apt update

sudo apt install -y git curl python3
二、创建工作目录

cd ~

mkdir webrtc_m130

cd webrtc_m130
三、拉取 depot_tools(里面才有 fetch)

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
四、把 depot_tools 加入环境变量(永久)

echo "export PATH=$PATH:~/webrtc_m130/depot_tools" >> ~/.bashrc

source ~/.bashrc
五、验证 fetch 是否正确(可选)

which fetch

必须显示:.../depot_tools/fetch
六、拉取 WebRTC 基础代码(很慢)

fetch --nohooks webrtc_android
七、进入源码目录

cd src
八、切换到 M130 固定版本(关键)https://chromiumdash.appspot.com/branches

git checkout branch-heads/6723
九、同步完整依赖(耗时很长,别中断)

gclient sync -D --with_branch_heads --jobs 8
十、完成,源码路径:

~/webrtc_m130/src
十一、打包,放在任意 Ubuntu 下均可编译

cd ~

tar -zcvf webrtc_m130.tar.gz webrtc_m130/

scp root@xx.xx.xx.xx:~/webrtc_m130/webrtc_m130.tar.gz webrtc_m130.tar.gz

输入阿里云服务器密码将 webrtc_m130.tar.gz 保存到本机
十二、安装 Android 编译依赖

cd ~/webrtc_m130/src

sudo ./build/install-build-deps.sh --android
十三、开始编译 arm64-v8a

gn gen out/android_arm64_release --args='chrome_pgo_phase=0 target_os="android" target_cpu="arm64" is_debug=false symbol_level=0 is_component_build=false is_official_build=true use_rtti=true rtc_include_tests=false rtc_build_examples=false rtc_build_tools=false rtc_include_pulse_audio=false'

ninja -C out/android_arm64_release

注意编译 WebRTC m136 版本时会报错:

python3_bin_reldir.txt not found. need to initialize depot_tools by running gclient, update_depot_tools or ensure_bootstrap.

运行 ensure_bootstrap 即可:

ensure_bootstrap
十四、开始编译 armeabi-v7a

gn gen out/android_arm_release --args='chrome_pgo_phase=0 target_os="android" target_cpu="arm" is_debug=false symbol_level=0 is_component_build=false is_official_build=true use_rtti=true rtc_include_tests=false rtc_build_examples=false rtc_build_tools=false rtc_include_pulse_audio=false'

ninja -C out/android_arm_release
十五、聚集源代码,默认都是 org.webrtc.xxx 文件夹

~/webrtc_m130/src/sdk/android/src/java/org

~/webrtc_m130/src/sdk/android/api/org

~/webrtc_m130/src/rtc_base/java/src/org

~/webrtc_m130/src/third_party/jni_zero/java/src/org  //WebRTC m136 及以上版本才需要

~/webrtc_m130/src/out/android_arm64_release<你的输出目录>/gen/sdk/android/video_api_java/generated_java/input_srcjars/org

~/webrtc_m130/src/out/android_arm64_release<你的输出目录>/gen/sdk/android/peerconnection_java/generated_java/input_srcjars/org
十六、Android Studio 下 ProGuard 配置

-keep class org.webrtc.** {*;}

-keep class org.jni_zero.** {*;}  //WebRTC m136 及以上版本才需要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值