Androidアプリを作って行く上で、最近、壁にぶつかる事が多くなって来たので、
一つ腰を据えて、Androidのソースコードを読み込んで見ようと思い立ちました。

愛読している入門書にソースコードのEclipseへの取り込み方が書いてあったのでやって見ました。

軽く手順をメモっときます。

1.Cygwinのインストール
  androidのソースはgitリポジトリのみ公開されており、ソースコードの取得にはCygwinと言うツールを使います。
  なので、まずこれをインストールしました。

  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でやりましたが、最新のバージョンでは、
多少手順が異なっているかも知れません。

今後、より新しいバージョンのソース取り込みも実施して行こうと思います。

 

コメントを残す

メールアドレスが公開されることはありません。