Androidアプリを作って行く上で、最近、壁にぶつかる事が多くなって来たので、
一つ腰を据えて、Androidのソースコードを読み込んで見ようと思い立ちました。
愛読している入門書にソースコードのEclipseへの取り込み方が書いてあったのでやって見ました。
軽く手順をメモっときます。
1.Cygwinのインストール
androidのソースはgitリポジトリのみ公開されており、ソースコードの取得にはCygwinと言うツールを使います。
なので、まずこれをインストールしました。
インストールしたら次の手順でセットアップします。
①Setup
ここは特に何もしないので「次へ」クリック
②Choose Instration Type
「Install from Internet」を選択します。
③Choose Installation Directory
インストール先のディレクトリを選択します。
④Select Local Package Directory
「次へ」クリック
⑤Select Connection Type
・直接インターネット接続の場合:「Direct Connection」を選択
・プロキシ経由の場合:「Use HTTP/FTP Proxy」を選択し、プロキシの設定を入力
で、「次へ」クリック
⑥Choose Download Site
近そうなダウンロードサイトを選択します。
⑦Select Packages
以下のパッケージをすべて選択して「次へ」クリック→ダウンロード開始
Category - Package
Archive zip
Devel bison
Devel flex
Devel git
Devel gpert
Devel ruby
Python Python
Utils Gnupg
Web curl
⑧Instlation Status and Create Icons
デスクトップアイコン、スタートメニューの設定を行い「完了」クリック ⇒ インストール完了
2.repoコマンドのダウンロード
Cygwin用のコマンドをダウンロードして設定します。
androidのソースはカーネル、フレームワーク等コンポーネント毎に別々になっており、
一つ一つダウンロードして行くのは大変です。
これをまとめて自動ダウンロードしてくれるコマンドがrepoです。
ダウンロードするにはCygwinのコンソールから以下のコマンドを実行します。
$ mkdir ~/bin/
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod 755 ~/bin/repo
Cygwinのインストールディレクトリ/home/<ユーザID>にある.bash_profileに以下を追記して、
上記コマンドにパスを通しておきます。
export PATH=$PATH:~/bin
3.リポジトリからのソース取得
まず、取ってきたいソースのバージョンタグを特定します。
このサイトTOPページにある「platform/manifest.git」のリンクを押下し、
リンク先ページのtagsに表示されている文字列が、指定可能なバージョンタグです。
バージョンタグを特定したら、以下のコマンドを実施して保存ディレクトリの作成、repoコマンドの初期化処理を行います。
$ mkdir and-src
$ cd and-src
$ repo init -u git://android.git.kernel.org/platform/manigest.git -b <バージョンタグ>
開発者氏名と、メールアドレスを聞かれるので入力します。
次のコマンドを実行してソースコード取得を開始します。
$ repo sync
尚、androidのソースコードは2GBもある巨大なソースコードなのでダウンロードにはかなり時間がかかります。
(途中でエラーになったら再度上記syncコマンドを実行すれば再開します。)
4.ソースコードの集約
androidのソースコードは前述の通り、幾つものコンポーネントに分かれており、Eclipseに取り込むにはこれらを一つのディレクトリにまとめる必要があります。
私の教科書にはこの集約をやってくれるrubyスクリプトが公開されてました。
このサイトにサンプルプログラムと一緒に掲載されているのでダウンロードして使って見て下さい。
第5部 5_7_ソースコードの探訪フォルダに入っているandroid-src.rbがそれです。
これを<Cygwinインストールディレクトリ>/home/<ユーザー名>/bin/ にコピーします。
で、以下のコマンドをCygwinのコンソールで実行すれば、<Cygwinインストールディレクトリ>/home/<ユーザー名>/sources/ に
ソースコードを集約してくれます。
5.Eclipseへの取り込み
前項で集約したsourcesディレクトリを<android-sdkのインストールディレクトリ>/platforms/<バージョン>/ 配下にコピーします。
その後、Eclipseを起動すれば設定完了です。
6.ソースコードの確認
Eclipseで、適当なプロジェクトを開き、android1.6 ⇒ android.jar内のクラスを開いて見る。
自作のクラスと同じように閲覧出来れば成功です。
私は今回android1.6でやりましたが、最新のバージョンでは、
多少手順が異なっているかも知れません。
今後、より新しいバージョンのソース取り込みも実施して行こうと思います。