Help us understand the problem. What is going on with this article?

Amazon EC2上でChromium for Androidをビルドする

More than 5 years have passed since last update.

おおまかには http://code.google.com/p/chromium/wiki/AndroidBuildInstructions ここに記載されてる手順に従うのだけど、わけあってAmazon EC2上のインスタンスでビルドしたので誰かの参考になればと。ただし、2012/08/22時点ではまだブラウザ本体のビルドに必要なコードが公開されておらず、生成されるapkはユニットテスト用のもの。本体ソースはよ。
→その後、某先生から指摘を頂き どうやらその後ツールセット更新、コード公開などありChromium本体をビルド出来るようになっていたようなので(&不足パッケージ指摘も頂いた)2013/02/13に手順更新しました。

前準備: インスタンス立ち上げ

Ubuntuでは、なんと公式のEC2用AMIを用意しているので、 http://cloud-images.ubuntu.com/releases/precise/release/ にあるUbuntuの公式イメージからインスタンスを生成(生成したいリージョンを選んでリンククリック)。
今回の構成は

  • US-Westリージョン(SVNで大量のファイルを拾ってくるので、どうせならネットワークレイテンシの低そうなところにしてみた。Tokyoでもok)
  • ami-db86a39e
  • Largeインスタンス
  • rootボリュームサイズ=60GiB

とした。

必要なパッケージのインストール

$ sudo apt-get update
$ sudo apt-get upgrade

一応12.04リリース以降の変更を取り込み、その後ごっそり依存ライブラリを突っ込む。

$ sudo apt-get install git-core subversion libgtk2.0-dev libc6-dev-i386 libgconf2-dev libgnome-keyring-dev libdbus-glib-1-dev libudev-dev gperf bison libpci-dev g++-multilib

それから、後で詰まないようにsun-java6-jre sun-java6-bin sun-java6-jdkをなんとかしてインストール( http://www.gaggl.com/2012/04/installing-java6-jdk-on-ubuntu-12-04/ こういう方法とかがあるらしい)しておく。
あと、antの1.8がUbuntu12.04では用意されてないので10.04のものを拾ってきてインストールしておく。

$ wget http://mirror.pnl.gov/ubuntu//pool/main/a/ant1.8/ant1.8_1.8.0-4ubuntu1_all.deb
$ wget http://mirror.pnl.gov/ubuntu//pool/main/a/ant1.8/ant1.8-optional_1.8.0-4ubuntu1_all.deb
$ sudo dpkg -i ant1.8_1.8.0-4ubuntu1_all.deb ant1.8-optional_1.8.0-4ubuntu1_all.deb

Chromiumのソースコードをダウンロード

基本的に、前の段階で必要なもの(ant1.8とかsun-java-*とか)をインストールしていれば

の手順通り。具体的には

$ cd ~ && mkdir Chromium && cd Chromium && git clone https://git.chromium.org/chromium/tools/depot_tools.git && export PATH="$PATH":`pwd`/depot_tools && gclient config https://src.chromium.org/chrome/trunk/src && echo "target_os = ['android']" >> .gclient

これでソース取得用の設定作成。丸ごと1行コピペでok。続いて

$ gclient sync --nohooks && export GYP_GENERATORS=ninja && . ./src/build/android/envsetup.sh && gclient runhooks

でソース取得と前処理(GYP_GENERATORS環境変数は.bash_profileなどに予め書いておいても良いかもしれません)。

$ cd src/build/ && sudo ./install-build-deps-android.sh

でAndroid関連のビルドに必要なパッケージを追加取得。

ビルド

ここまでやったら

$ cd ~/Chromium/src && android_gyp && ninja -C out/Release -j6 content_shell_apk

でok(並列度をどれくらいにするかは、インスタンスによって変更)。Largeインスタンスで、ソース取得から現状でのapk完成まで4時間ぐらいだったかな。結構かかるのでもっと高グレードのインスタンスを使ったほうが良いかもしれません。

ubuntu@ip-xx-xxx-xx-xxx:~/Chromium/src/out$ find . -name '*.apk' | xargs ls -l
-rw-rw-r-- 1 ubuntu ubuntu 361622 Aug 22 13:11 ./Debug/ipc_tests_apk/ipc_tests-debug.apk
-rw-rw-r-- 1 ubuntu ubuntu 361621 Aug 22 13:11 ./Debug/ipc_tests_apk/ipc_tests-debug-unaligned.apk
-rw-rw-r-- 1 ubuntu ubuntu 10637 Aug 22 13:11 ./Debug/replaceme_apk/replaceme-debug.apk
-rw-rw-r-- 1 ubuntu ubuntu 10636 Aug 22 13:11 ./Debug/replaceme_apk/replaceme-debug-unaligned.apk
-rw-rw-r-- 1 ubuntu ubuntu 16286294 Feb 13 06:14 ./Release/apks/ContentShell.apk
-rw-rw-r-- 1 ubuntu ubuntu 16286277 Feb 13 06:14 ./Release/apks/ContentShell-unaligned.apk
-rw-rw-r-- 1 ubuntu ubuntu 16283376 Feb 13 06:14 ./Release/apks/ContentShell-unsigned.apk

出来てますね! あとはadbで普通にインストールすればokです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした