webrtc android版のコンパイルとリリース版の取得

この記事では、ubuntu16.0.4 プラットフォームで Android 版 webrtc をコンパイルする方法を主に紹介します。webrtc を使い始めたばかりの方には、このブログが役立つかもしれません。物忘れが激しい私にとっては、一種の勉強ノートと言えますし、必要な時にさかのぼって見るのにも最適です。では、本題に入りましょう。

注: コンパイルする前に、壁を克服していることを確認してください。

  1. Google が提供する一連のツール、つまりツールキットをダウンロードします (必須)
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  1. Google ツールを使用して直接使用できる PATH 環境変数を構成します。
export PATH=$PATH:/path/to/depot_tools

このコマンドは、現在の端末に対してのみ有効です. グローバルに有効にしたい場合は、このステートメントを .bashrc に記述してから、source ~/.bashrc を実行して有効にします。

  1. webrtc のソースコードを入手する
fetch --nohooks webrtc_android
  1. 同期コード (更新コード)
gclient sync

プロセス中にいくつかの警告メッセージが表示される場合があります:「この状況でプロキシを使用するには、NO_AUTH_BOTO_CONFIG 環境変数が指す .boto ファイルでそれらの設定を提供してください。」この時点で、.boto ファイルを構成する必要があります。インターネットプランに関連するソリューションがあります。私はポーターではありません。
最後に、ライセンスの確認が表示されます。Y と入力するだけです。

  1. webrtc のリリース版をダウンロードする必要がある場合は、公式 Web サイトを参照してください。

5.1 利用可能なリリース バージョンを確認します: git branch -r
5.2 指定したバージョンの webrtc ソース コードを取得します: git checkout -b my_branch refs/remotes/branch-heads/43。注: 異なるソース コードと depot_tools ツールキットのバージョンにはいくつかの対応関係があるため、更新プロセス中にエラーが発生した場合は、depot_tools を webrtc ソース コードのリリースに近いバージョンに更新することをお勧めします。
5.3 リリース ブランチを具体的に取得する方法については、こちらの
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:忍者 -C アウト/armeabi-v7a

6.3:
パッケージ aar コマンド: tools_webrtc/android/build_aar.py

おすすめ

転載: blog.csdn.net/TopsLuo/article/details/86543900