ubuntu下andriod-webrtc编译全过程(2019)

1. 首先解决连接google外网翻墙问题,自己配置个代理服务器

我是租用了一台香港服务器1个月,带宽上行2mbps,下行带宽10mbps的,1G内存,2核CPU,才十几块。只是想下载代码这个配置也就可以吧,希望网络给力就行啊,折腾下看看吧。如果还想利用主机编译的话建议换个高配置的机器。

登录云主机上安装了centos 7版本,先测试了下这台服务器连接google网站有问题没。

yum install -y git

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

发现一会depot_tools就下载完了,带宽还可以,能达到500KB/S左右吧,比较满意。

然后在上边安装shadowsocks服务端,配置好端口和账号,代理服务器部署完毕。

2. 找台ubuntu的主机,准备下载代码编译。

我是在windows下用vmware安装的ubuntu16.04的版本。 注意:最好是ubuntu版本,在centos上不支持编译webrtc的。

[注: 我在centos上配置下载完代码试了一下,提示不支持centos的。]

首先在ubuntu上安装git

sudo apt install git

安装完毕后,再次安装shadowsocks客户端。

apt-get install shadowsocks

vim /etc/shadowsocks.json 内容如下:

{ "server":"43.241.*.*", "server_port":443, "local_port":1080, "password":"123456", "timeout":600, "method":"aes-256-cfb" }

这里服务器地址和账号信息,你设置成自己上边主机的地址和账号就可以了。

启动本地的shadowsock的方法: sslocal -s 43.241.*.*" -p 443 -k "123456" -l 1080 -t 600 -m aes-256-cfb

这里设置服务器参数也可以的,启动后显示如下:

sslocal -s 43.241.*.* -p 443 -k "123456" -l 1080 -t 600 -m aes-256-cfb
shadowsocks 2.1.0
2019-03-10 10:28:51 INFO     starting local at 127.0.0.1:1080

3. 网络环境都打通了,现在开始下载编译吧。

3.1下载 depot_tools: 

sudo   git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

这个里边是下载和编译用到的一些工具,20多Mb的文件,这是看出来我实际从云主机上下载的带宽才100KB/s左右,悲催了。

所以建议还是租用个带宽大点的或选择个好网络的云主机是最关键的。

服务器已经租了,这次就当测试了,浪费点时间,继续倒腾下吧。

3.2 设置环境变量

 vi ~/.profile

export PATH=XXX/depot_tools:"$PATH"

  按“ESC”,输入 ":wq!" 保存退出;

   source ~/.profile   使PATH设置生效

echo $PATH 查看设置是否生效。

3.3 安装 JDK

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install Oracle-java8-installer

这块可能遇到问题,我的就遇到了 Unable to locate package oracle-java8-installer,没关系。百度一下看看解决方案吧,

对应的解决方案如下:(https://blog.csdn.net/xwm1993/article/details/78362175

//-------------------------------------------------------------------------------------------------------

ahmed@ubuntu:~$ sudo su

root@ubuntu:~$ echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" > /etc/apt/sources.list.d/webupd8team-java.list

root@ubuntu:~$ echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list.d/webupd8team-java.list

root@ubuntu:~$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886

root@ubuntu:~$ apt-get update

root@ubuntu:~$ apt-get install oracle-java7-installer

之后查看java版本信息,看是否安装成功。

//-------------------------------------------------------------------------------------------------------

不过我们这里最后要安装是的java8,所以最后改成 apt-get install oracle-java8-installer 就可以了。

3.4设置环境变量

export GYP_DEFINES="OS=Android"

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$JAVA_HOME/bin:$PATH

3.5获取 webrtc源码

fetch --nohooks webrtc_android            

gclient sync --force

这里fetch代码后因为网速慢,慢慢等待吧,等下再97%的时候,似乎网络断了,等了2分钟也没有进度,

干脆ctrl+c结束掉,重新 fetch --nohooks webrtc_android  ,有等了好一会终于看到100%了,下载完成。

remote: Total 312322 (delta 240530), reused 312322 (delta 240530)        
Receiving objects: 100% (312322/312322), 227.30 MiB | 91.00 KiB/s, done.
Resolving deltas:  19% (45704/240530)   
[0:46:00] Still working on:
[0:46:00]   src
Resolving deltas: 100% (240530/240530), done.
Checking connectivity... done.

不过这还没完,继续等待解包代码吧。

[1:11:42] Still working on:
[1:11:42]   src/examples/androidtests/third_party/gradle
[1:11:42]   src/third_party
[1:11:42]   src/tools

一直在输出这东东,完后查看文件夹,发现src目录下的文件在不断生成。

4. 开始编译代码

4.1设置编译环境

a. cd 到src目录下

b. source ./build/android/envsetup.sh

c.export GYP_DEFINES="$GYP_DEFINES OS=android"

4.2 下载编译所依赖的包或工具,(这里又会下载一大堆东西 如 Ant.)

./build/install-build-deps.sh  (src目录下)

4.3 下载编译所需的build文件等信息

 gclient runhooks --force(或者 webrtc/build/gyp_webrtc  这个快些)

4.4编译 (src目录下)

编译Debug版:  ninja -C out/Debug

编译Release版: ninja -C out/Release

4.5 cd 到src/out/Debug/apks

猜你喜欢

转载自blog.csdn.net/dengrk/article/details/88376642