1. 不翻墙所需要的配置
将hosts中的内容增加进系统hosts文件中(windows在%windir%\system32\drivers\etc\hosts,
linux在/etc/hosts)
将下面内容放入hosts中
203.208.46.200 webrtc.googlecode.com
203.208.46.222 smarthosts.googlecode.com
203.208.46.200 autoproxy-gfwlist.googlecode.com
203.208.46.200 chromium.googlecode.com
203.208.46.200 closure-library.googlecode.com
203.208.46.200 earth-api-samples.googlecode.com
203.208.46.200 gmaps-samples-flash.googlecode.com
203.208.46.200 gflags.googlecode.com
203.208.46.200 chromium.googlesource.com
203.208.46.200 boringssl.googlesource.com
203.208.46.200 libyun.googlecode.com
203.208.46.200 gyp.googlecode.com
203.208.46.200 sawbuck.googlecode.com
203.208.46.200 libyuv.googlecode.com
203.208.46.200 googlemock.googlecode.com
203.208.46.200 googletest.googlecode.com
2. 下载google代码工具gclient(depot_tools)
直接通过迅雷下载zip文件
3. 升级git和python版本
CentOS 6.5安装的git version 1.7.1不支持,git版本太低(需要-c选项),按照下文升级git(1.7.12.4)
升级Python, CentOS 6.5最大支持2.6.6的版本,下载Python-2.7.9代码,解压缩,
./configue; make; make install
4. 下载代码
在centos6.5上解压缩gclient(depot_tools), 并添加执行路径
新建webrtc目录,并进入执行命令
修改.gclient的solution Name为src
将trunk目录改成src
solutions = [
{ "name" : "src",
"url" : "http://webrtc.googlecode.com/svn/branches/41p",
"deps_file" : "DEPS",
"managed" : True,
"custom_deps" : {
},
"safesync_url": "",
},
]
cache_dir = None
target_os = [‘android‘]
如果有莫名错误,可能gclient被修改过,删除(depot_tools)重新解压缩
在webrtc下的 .gclient文件中,添加如下内容(可执行修改平台):
target_os = [‘ios‘,‘mac‘,‘windows‘,‘android‘,‘linux‘]
使用命令下载
gclient sync --force --nohooks
5. 生成工程和编译webrtc
执行gclient runhook
其中会提示有些库没有安装或者版本太低,我主要安装了如下库(有些是yum,有些直接下载源代码编译):
xscrnsaver、libpci、cups-config、cmake 3.1.1、ant-1.9.4
出现一次被墙
[0:57:38] error: Failed to connect to 2404:6800:4008:c04::52: Network is unreachable while accessing https://pdfium.googlesource.com/pdfium.git/info/refs?service=git-upload-pack
[0:57:38] fatal: HTTP request failed
增加pdfium.googlesource.com进hosts
出现clang编译出错
编译clang出错, 屏蔽clang的编译(修改chromium/src/DEPS,把失败的注释掉)
直接在chromium中执行gclient runhook
如果有运行不通过的,直接通过修改DEPS,注释失败的部分
使用我们自己安装的android-ndk版本:
src下,运行source build/android/envsetup.sh
修改src/chromium/src/build/common.gypi, 使用我们的android的ndk编译环境(sdk没改)
将src/chromium/src/third_party/android_tools/ndk/android_tools_ndk.gyp复制到我们的ndk下面
运行命令export GYP_DEFINES="OS=android"
进入webrtc,运行 gclient runhooks
ninja -C out/Debug
ninja -C out/Debug WebRTCDemo
webrtc编程成功
在out/Debug下生成WebRTCDemo-debug.apk
6. 备注
翻墙多看看webrtc的帮助文档,还是有用的