基于linux Webrtc Android 版本源码下载、编译以及遇到的相关问题
基于linuxWebrtc Android 版本源码下载、编译以及遇到的相关问题各环境工具版本源码下载编译下载编译过程中遇到的相关问题各环境工具版本虚拟机:VMWave12.5.9Ubuntu:Ubuntu 16.04.7 LTSWebRtc: M72源码下载1、由于webrtc 源码在 墙外,所以需要科学上网(自行解决)。当然现在webrtc 有国内的镜像地址:https://webrtc.or
基于linux Webrtc Android 版本源码下载、编译以及遇到的相关问题
各环境工具版本
虚拟机:VMWave 12.5.9
Ubuntu: Ubuntu 16.04.7 LTS
WebRtc: M72
源码下载
1、由于webrtc 源码在 墙外,所以需要科学上网(自行解决)。当然现在webrtc 有国内的镜像地址:https://webrtc.org.cn/mirror 内附编译下载教程自行查阅,由于个人项目需要M72 版本,所以需要科学上网。
2、在linux上安装git(version 2.7.4)
yum -y install git
3、下载depot_tools,然后添加环境变量
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=pwd/depot_tools:"$PATH"
4、下载webrtc_android 源码 创建文件夹
$ mkdir webrtc_android
$ cd webrtc_android
获取源码
$ export GYP_DEFINES=“OS=android”
$ fetch --nohooks webrtc_android
$ gclient sync
将分支定位到m72
$ cd src
$ git checkout -b m72 refs/remotes/branch-heads/72
$ cd …
$ gclient sync
编译
1、使用gn生成需要的架构屏幕文件夹:
生成ARM版:
gn gen out/Default --args=‘target_os=“android” target_cpu=“arm”’
生成ARM64版:
gn gen out/Default --args=‘target_os=“android” target_cpu=“arm64”’
2、编译源码
ninja -C out/Default
3、得到编译结果文件
jar包:out/Default/lib.java/sdk/android/libwebrtc.jar
so文件:out/Default/libjingle_peerconnection_so.so
下载编译过程中遇到的相关问题
1、无法解压tar 包:
现象:tar (child): xz: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now
解决办法:sudo apt install xz-utils
2、python 版本过低编译报错
现象:
File “…/…/build/android/gyp/turbine.py”, line 15, in import javac_output_processor File “/webrtc/src/build/android/gyp/javac_output_processor.py”, line 23, in import lookup_dep File “…/…/tools/android/modularization/convenience/lookup_dep.py”, line 67 abs_out_dir: pathlib.Path = pathlib.Path( ^ SyntaxError: invalid syntax)
解决办法:升级python 3.5到 3.7及以上
更多推荐
所有评论(0)