webrtc android版本的編譯及release版本的獲取

本文主要介紹如何在ubuntu16.0.4平臺下編譯android版本的webrtc。對於剛開始使用webrtc的人來說,本篇博客可能對你有所幫助!對於健忘的我來說,也算是一種學習筆記,當有需要的時候,回頭過來翻看一下也是極好的。好了,進入正題:

注意:編譯前請確認你已經翻牆了。

  1. 下載google提供的一系列工具,即工具包(必須)
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  1. 配置PATH環境變量,使用google的工具可以直接使用
export PATH=$PATH:/path/to/depot_tools

這個命令僅對當前終端有效果,如果想要全局生效,那可以把該語句寫入到.bashrc中,再執行source ~/.bashrc使之生效。

  1. 獲取webrtc源碼
fetch --nohooks webrtc_android
  1. 同步代碼(更新代碼)
gclient sync

過程中可能會出現一些告警信息:“To use a proxy in this situation, please supply those settings in a .boto file pointed to by the NO_AUTH_BOTO_CONFIG environment var.”,此時需要配置.boto文件,網上有相關的解決方案,我就不做搬運工了。
最後會有一個lience的確認,輸入Y即可。

  1. 如果需要下載webrtc的release版本,參考官網

5.1 查看可用的release版本:git branch -r
5.2 獲取指定版本的webrtc源碼:git checkout -b my_branch refs/remotes/branch-heads/43。注意:不同源碼與depot_tools工具包的版本有一些對應關係,所以如果在更新過程中出現錯誤,最好先把depot_tools更新到與webrtc源碼發佈臨近的時候版本。
5.3 具體如何獲取release-branch,看這裏
5.3.1:

#以下的官網的原話,英文不好,就不做翻譯了
#Make sure you are in 'src'.
#This part should only need to be done once, but it won't hurt to repeat it. The first
#time checking out branches and tags might take a while because it fetches an extra
#1/2 GB or so of branch commits.
 
gclient sync --with_branch_heads --with_tags

5.3.2

#You may have to explicitly 'git fetch origin' to pull branch-heads/
git fetch

5.3.3

# Checkout the branch 'src' tree.
git checkout -b branch_$BRANCH branch-heads/$BRANCH

5.3.4

# Checkout all the submodules at their branch DEPS revisions.
#該步驟會同步代碼,需要一點時間,等到完成後即可以,其它的編譯步驟與官網所給出的步驟一致。
gclient sync --with_branch_heads --with_tags

5.3.5

gclient sync
#此時可能會報錯,如下:
#src/third_party at a3a6c8af12026c268349ddecd0dc5643a6ea6cae
#You have unstaged changes.
#Please commit, stash, or reset.
#說第三方庫有改動,但git diff及git status並沒有發現哪裏有改動啊?怎麼辦?最笨的辦法就是#備份一下third_pardy然後刪除它,重新執行gclient sync,如果大家有更好的處理辦法,一起分#享出來。
  1. 利用gn進行編譯

6.1 gn的詳細使用
gn gen out/armeabi-v7a --args=‘target_os=“android” target_cpu=“arm” is_debug=false use_rtti=true’

6.2:ninja -C out/armeabi-v7a

6.3:
打包aar命令:tools_webrtc/android/build_aar.py

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章