Android SDK の4.0(API 14)未満のソースコードを取得する


EclipseSDKのソースを開きたかったのですが、Android SDKのsoucesディレクトリにAPI 14以前のディレクトリがありませんでした。
Android SDK Managerから確認すると4.0(API 14)未満のダウンロード出来ないようです。
f:id:khey83:20121202072003g:plain
なので、ソースをダウンロードすることにします。
http://source.android.com/source/downloading.html:こちらのサイトの手順にしたがってダウンロードします。
まず、Repoツールをインストールします。

# ~/local以下に自分用のツールを入れているため~/local/binにインストールします
# 予めPATHに~/local/binにを追加しておきます
# $ PATH=~/local/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/local/bin/repo
$ chmod a+x ~/local/bin/repo

そして、ソースをダウンロードします。

# Android SDKホームディレクトリにrepo_workspaceディレクトリを新たに作成しました
$ mkdir <Android SDK Home>/repo_workspace
$ cd <Android SDK Home>/repo_workspace
# Froyoのソースが欲しかったので、ブランチにはandroid-2.2.3_r2.1を指定しました
# (適当なブランチ名で実行すると間違っていた場合指定できるブランチ名のリストが表示されるので、それで正式名称を見れました)
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.2.3_r2.1
# 実際にソースをダウンロードします
$ repo sync
# (ダウンロード完了するまでに15分ぐらいかかり、容量は7GB超でした)

SDKソースコードはframeworks/baseディレクトリ以下の各ディレクトリ配下のjavaディレクトリ配下にあります。

$ cd frameworks/base
# mergeディレクトリを作ってその中に集めます
$ mkdir merge
$ cp -r */java merge
# 余計なファイルを削除しておきます
$ cd merge/java
$ rm Android.mk jarjar-rules.txt overview.html

Android SDKソースコードディレクトリにコピーしておきます。

# Froyo(API 8)のソースなのでandroid-8ディレクトリにします
$ cp -r . ~/local/android-sdk-macosx/sources/android-8

これでEclipseなどでSDKのソースを見れるようになります。