LoginSignup
0
1

More than 1 year has passed since last update.

GoogleのWebRTC Androidをビルドする

Last updated at Posted at 2021-10-14

GoogleのWebRTC Androidをビルドする機会があり、所々つまづいたので残しておきます。

参考URL
https://webrtc.googlesource.com/src/+/main/docs/native-code/android/index.md

1.Ubuntu Linux環境の構築

VirtualBoxにUbuntuを導入する手順はよく転がっているので、詳細は割愛します。

仮想環境の構築

ビルド環境はLinuxのみがサポートされているので、私の場合はMacにVirtualBoxをインストールしUbuntu Linuxの環境を構築しました。
注意点としては、まずストレージのサイズですがデフォルトの(確か)10GBだと小さすぎるので64GBのストーレジを割り当てたことと、ビルド速度に影響するCPUの個数も4個割り当てました。1個だとビルド時間がかなり長くなります。メインメモリも8GB割り当てました。

Ubuntu Linuxのインストール

Ubuntuは言語を日本語でインストールすると画面にウインドウが収まらなくてボタンが押せなかったので言語をEnglishで最小構成(Minimal installation)インストールしました。Englishならギリギリボタンが押せます。
800x600のサイズで画面が始まるので文字が小さいけど頑張ってインストール。
インストール後はSettings -> Display からいい感じの大きさに変更しました。
あとソースのダウンロードなど結構時間がかかるのでSettings -> Power SavingでBlank ScreenをNeverにして画面にロックがかからないようにしました。

2.Chromium depot toolsをインストールする

AppRTCをビルドする時に利用するコマンドが使えるようにUbuntu LinuxにChromium depot toolsをインストールします。

  • UbuntuでTerminalを起動します

gitのインストール

gitが入っていなかったのでインストールします

$ sudo apt install git

Chromium depot toolsのソースを取得

適当なところにディレクトリを作って

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

パスを通す

$ export PATH=/home/atsuo/Source/depot_tools:$PATH

3. webrtc_androidのビルド

gccを使うのでインストールしておく

$ sudo apt install gcc

適当なところにディレクトリを作成して

$ fetch --nohooks webrtc_android
$ gclient sync

↑結構時間がかかります。
2012/10/14時点のソースだとdebugビルドすると通話切断時にクラッシュする問題があるのでreleaseビルドします

ビルド!!

$ cd src
$ gn gen out/Release --args='target_os="android" target_cpu="arm64" is_debug=false'
$ autoninja -C out/Release AppRTCMobile

out/Release/apks/AppRTCMobile.apk

apkファイルができているのでスマホにインストールして
https://appr.tc/ 
→いつからかアクセスできなくなったので自身でホスティングしないといけない

とスマホとブラウザ間でビデオ通話できます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1