Androidのソースコードを入手する
|Androidはオープンソースライセンスのソフトウェアです。
ソースコードが公開されているため、誰でも自由に入手し、自由にカスタマイズすることができます。
評価ボード上でAndroidを動作させたいという組み込み用途のほかにも、アプリケーションを開発する上でAPIの実装がどうなっているのか知りたいといった場合にもソースコードを自由に取得できることは非常に有用です。
今回と次回の2回に渡ってAndroidのソースコードの取得方法とビルド方法について説明します。
環境構築
Androidのソースコードの取得に環境の指定は特にありませんが、
取得したソースコードをビルドしたい場合にはUbuntu 10.04 64bit版が必要になりますので、今回もUbuntu 10.04 64bit版を前提にした説明をします。
※現在、64bit環境を要求されるのはAndroid 2.3のソースコードをビルドする場合に限ります。Android 2.3以前のソースコードをビルドする場合は必ずしも64bit環境は必要ではありません。
GitサーバとRepoコマンド
Androidのソースコードの取得にはRepoと呼ばれるツールを利用します。
Androidのソースコードは複数のGitサーバによって管理されていますが、
Repoは複数のGitサーバの情報を取り纏めることで効率的にAndroidのソースコードに
アクセスする機能を提供しています。
インストール
Gitのインストールには以下のコマンドを実行します。
# sudo apt-get install git-core
次にRepoをインストールします。
ホームディレクトリにrepoコマンドダウンロード用のディレクトリを作成し、
そこにrepoコマンドをダウンロードします。
また、忘れずにパスも通しておきましょう。
# mkdir ~/bin # sudo apt-get install curl # curl http://android.git.kernel.org/repo > ~/bin/repo # chmod 755 ~/bin/repo # export PATH=$PATH:~/bin
ソースコードのダウンロード
では実際にrepoコマンドを使ってソースコードをダウンロードしてみます。
まず、ソースコードをダウンロードしたいディレクトリを作成して、そのディレクトリに移動します。
# mkdir ~/mydroid # cd ~/mydroid
次にrepoコマンドの初期化を行います。
# repo init -u git://android.git.kernel.org/platform/manifest.git
repoコマンドの初期化時には以下のように名前とユーザ名を求められますので入力します。
Your Name [Android User]: Android User Your Email [androiduser@ubuntu.(none)]: androiduser@hogehoge.com
なお、repoコマンドの初期化時に取得したいAndroidソースコードのブランチを指定することができます。
たとえばgingerbreadのソースコードを取得したい場合は以下のようにします。
# repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread
初期化が完了したらソースコードをダウンロードします。
ソースコードのダウンロードには非常に時間がかかりますのでご注意下さい。
# repo sync
ディレクトリの構成
ダウンロードしたAndroidのソースコードのディレクトリ構成は以下のようになっています。
APIの調査などの参考にして下さい。
bionic/ | Android用にカスタマイズされたCライブラリ群 |
bootable/ | ブートローダーリファレンスコード |
build/ | ビルド用のMakefile、シェルスクリプト |
cts/ | Android用テストスイート |
dalvik/ | 仮想マシンDalvik |
development/ | SDKやNDKなどの開発ツール |
external/ | jpegなどAndroid以外のオープンソースソフトウェア |
frameworks/ | Androidフレームワーク |
packages/ | Androidアプリケーションとサービス |
prebuilt/ | ビルドに必要な各種バイナリファイル |
sdk/ | 開発ツール |
system/ | Bluetoothのソースコードや、デバッグツールなど |
まとめ
ここまで説明したように、Androidのソースコードは少しの環境構築で簡単に取得することができます。
しかし、取得したソースコードをビルドして実際に動作させたい場合にはもう少し準備が必要になります。
次回はソースコードのビルド手順について説明したいと思います。