android webrtc學習 一(源碼下載和編譯)

android 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"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章