android webrtc学习 一(源码下载和编译)

android webrtc学习 一(源码下载和编译)

  • 源码下载和编译
    • 准备
    • 编译webrtc

源码下载和编译

准备

android webrtc官网上说得很清楚,要使用Linux系统去编译,别再去折腾什么如何在windows或Mac上编译android webrtc了,所以老老实实的用上Linux系统的电脑,或者装虚拟机,最好是使用Ubuntu16.04及以上系统;注:如果是使用虚拟机,那么内存一定要分配足,不然编译过程会出现莫名其妙的错误,还不告诉你是因为内存不足导致的

  1. 安装和配置环境
    1.1. 安装基础软件依赖
    $ sudo apt-get update
    安装vim:$ sudo apt-get install vim
    安装git:$ sudo apt-get install git
    此时如果需要安装编辑器(如:sublime text或者开发工具)和配置等,一并在此步骤操作完
    1.2. 安装google工具和脚本
    $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    配置环境变量:$ vi ~/.bashrc
    按i后在最后面添加:
export DEPOT_TOOLS_PATH=~/depot_tools
export PATH=${PATH}:${DEPOT_TOOLS_PATH}

输入完毕之后按’esc’键,再按w保存退出即可
使环境变量生效:$ source ~/.bashrc

  1. 拉取Android webrtc源码
    2.1. 创建webrtc目录
    $ mkdir webrtc
    $ cd webrtc
    2.2. 拉取代码
    $ fetch --nohooks webrtc_android
    $ gclient sync //若是异常断开,可多执行几次
    等待…这个过程会比较久,代码大概17G左右

编译webrtc

  1. 安装依赖
    gclient sync执行完成之后
$ cd src
$ ./build/install-build-deps.sh
$ ./build/install-build-deps-android.sh
$ . build/android/envsetup.sh
  1. 编译
    编译示例
    进入webrtc/src目录
    $ gn gen out/debug/armeabi-v7a --args='target_os="android" target_cpu=“arm" is_debug=true' $ ninja -C out/debug/armeabi-v7a
    其中,–args后面跟随的是配置参数,target_cpu表示AndroidCPU架构,编译其他CPU架构如下:

ARM64: target_cpu=“arm64”
32-bit x86: target_cpu=“x86”
64-bit x64: target_cpu=“x64"

编译成功之后,主要获取jar包和so包,分别为
out/debug/armeabi-v7a/lib.java/sdk/android/libwebrtc.jar
out/debug/armeabi-v7a/libjingle_peerconnection_so.so

  1. 编译aar包
    以上编译方式只是其中的一种,另一种是可以直接编译成aar包,编译脚本为webrtc/src/tools_webrtc/android/build_aar.py文件,编译aar包执行如下:
    需要在src目录下执行
./tools_webrtc/android/build_aar.py --build-dir out --arch "armeabi-v7a" "arm64-v8a"

你可能感兴趣的:(webrtc)