在ubuntu上编译WebRTC Android版本

本文详细介绍了如何在亚马逊虚拟机上搭建WebRTC开发环境,包括安装所需软件、配置环境变量、下载源码及工程文件等关键步骤。同时,解决了一个在本地下载部署工具deploy_tools的问题,避免了因网络原因导致的下载失败。

最近由于工作原因在研究安卓上的WebRTC开发。谈到开发,首当是编译。期间遇到一些问题,在此记录一下。

实际上谷歌官方提供的步骤很简单,但是由于众所周知的原因很多需要下载的东西无法直接下载(特别是外企的网络,是不是都很差?),所以我选择在亚马逊的虚拟机下载好了之后,将所有工程文件拷贝到本地的VirtualBox虚拟机中进行编译。所以大家需要想办法啦!注册亚马逊,或者找个别的什么代理,作为程序员这个不难吧!

前提:WebRTC的编译环境要求是64位操作系统,所以无论是本地还是云端,都请确保64位操作系统。


以下步骤在亚马逊的虚拟机上操作:

第一步: 安装相关软件

              SVN: sudo apt-get install subversion
              Git:    sudo apt-get install git

              JDK 1.6 (必须是1.6否则报错)

              下载ANT,Android SDK, Android NDK

              下载deploy_tools:  git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

第二步: 安装依赖包

              g++ (>= 4.2)
              python (>= 2.4)
              libnss3-dev >= 3.12
              libasound2-dev
              libpulse-dev
              libjpeg62-dev
              libxv-dev
              libgtk2.0-dev
              libexpat1-dev
              libudev-dev
              lib32asound2-dev
              ia32-libs

第三步: 配置环境变量

              需要JAVA_HOME, 并且在PATH指向bin目录

              ANT的bin目录需要放到PATH下

              Android的SDK目录: export ANDROID_SDK_ROOT=/usr/local/google/bin/android-sdk-linux
              Android的NDK目录: export ANDROID_NDK_ROOT=/usr/local/google/bin/android-ndk-r7

              deploy_tools目录需要放到PATH下

第四步: 下载源码

              gclient config https://webrtc.googlecode.com/svn/trunk
              echo "target_os = ['android']" >> .gclient
              gclient sync --nohooks

第五步: 下载工程文件

              cd trunk
              source ./build/android/envsetup.sh
              gclient runhooks

              当正常结束后,请备份。如果后面编译没问题可将这个版本拷贝到本地,这样就无需将编译过的东西也拷贝到本地。

第六步: 编译

              ninja -C out/Debug


如果编译正常完成后,将trunk目录拷贝到本地,当然本地环境应该和云端环境一样不再赘述。

有两个问题需要特别说明:

第一,deploy_tools这个工具在国内貌似用git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git是无法正常下载的。所以我就用了代理(代理无处不在)在本地下载,这个目录并不是很大,很快就下载好了。我尝试过用代理下载WebRTC的代码,失败,因为代码量太大,而代理进来又十分不稳定。

大家肯定非常想问为啥deploy_tools必须在本地下载?因为我曾经从亚马逊上拷贝下来,然后再运行时报文件已被更改,请提交或者回溯的错误。我尝试提交(当然不成功),尝试回溯也悲剧的失败了。所以无奈只能在本地重新下载,多亏不是很大。

第二,请不要把工程目录(也就是trunk)下的.svn目录全部删掉。我曾经用命令把所有的.svn目录删掉,然后编译时悲剧的报了一个错误,明确指出找不到某.svn目录下的某文件找不到。还没时间研究为什么,等我有结论再做补充。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值