webrtc最新版本(41p)在CentOS 6.5 32位下载生成编译Android应用(不翻墙)

1. 不翻墙所需要的配置
     打开https://code.google.com/p/smarthosts ,下载hosts文件
     将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上解压缩gclientdepot_tools), 并添加执行路径

     新建webrtc目录,并进入执行命令
     gclient config http://webrtc.googlecode.com/svn/branches/41p 

     修改.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的帮助文档,还是有用的
     
     


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。