その手順をメモしておきます。
ちなみに、環境は Windows Vista Ultimate SP2 32bit です。
android 2.2 のソースを参照できるようにしました。
- Cygwin 入手
以下のサイトより、setup.exe をダウンロード。
http://www.cygwin.com/
- Cygwin 導入
setup.exe を実行。
パッケージ選択画面で、以下の 9 つについて、Bin? 列にチェックを入れる。
Archive > zip: Info-ZIP compression utility
Devel > bison: A parser generator that is compatible with YACC
Devel > flex: A fast lexical analyzer generator
Devel > git: Fast Version Control System - core files
Devel > gperf: Perfect fash function generator
Devel > ruby: Interpreted object-oriented scripting language
Python > python: Python language interpeter
Util > gnupg: GNU's tool for secure communication and data storage
Web > curl: Multi-protocol file transfer command-line tool
- repo スクリプトのダウンロード
Cygwin を起動し、curl コマンド使ってダウンロードします。
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
- ダウンロードするバージョンを確認
repo init コマンドの -b で指定する値を確認します。
tags に欄にある名称が指定できるようです。
http://android.git.kernel.org/?p=platform/manifest.git;a=summary
- repo init 実行
$ cd ~
$ mkdir android_src
$ cd android_src
$ ~/bin/repo init -u git://android.git.kernel.org/platform/manifest.git -b android-sdk-2.2_r2
が、エラーとなりました。。
3 [main] python 4860 C:\myprog\cygwin\bin\python.exe: *** fatal error - unable to
remap \\?\C:\myprog\cygwin\lib\p
ython2.6\lib-dynload\time.dll to same address as parent: 0x380000 != 0x3B0000
Stack trace:
Frame Function Args
00229CC8 6102749B (00229CC8, 00000000, 00000000, 00000000)
00229FB8 6102749B (61177B80, 00008000, 00000000, 61179977)
0022AFE8 61004AFB (611A136C, 6123FC1C, 00380000, 003B0000)
End of stack trace
3 [main] python 7144 fork: child 4860 - died waiting for dll loading, errno 11
Traceback (most recent call last):
いろいろとググってみた結果、
以下の手順で回避できました。
a. 全ての Cygwin を停止。
b. コマンド・プロンプトを起動し、以下を実行。
> cd <Cygwin導入フォルダ>\bin
> ash.exe
$ /usr/bin/rebaseall
再度、repo init 実行。
途中に、メールアドレスの入力が求められます。
それと、カラー表示の有無が問われるので、Y と答えておきました。
実行が完了すると、.repo ディレクトリが作成されています。
$ ls -la
total 8
drwxr-xr-x+ 1 xxxx None 0 2010-09-22 18:23 .
drwxr-xr-x+ 1 xxxx None 4096 2010-09-22 18:40 ..
drwxr-xr-x+ 1 xxxx None 4096 2010-09-22 18:40 .repo
$
- ソースコード取得
.repo ディレクトリが存在する場所で、repo sync を実行します。
$ cd android_src
$ ~/bin/repo sync
ソースのダウンロードが開始されます。
完了するまでに相当かかりますので、気長に待ちましょう。
- sources 作成
ダウンロードしたソースは、ばらばらに配置されているので、ひとまとめにします。
development/ide/eclipse/.classpath というファイルの中を見ると、
<classpathentry kind="src" path="packages/apps/AccountsAndSyncSettings/src"/>
といった行が複数あるので、このなかで kind="src" となっている path のディレクトリを
ひとまとめにすればよいようです。
但し、path が out/~ で始まるものはサンプルのソースだったりするようなので、
これは除外するようにします。
ということで、Cygwin で以下を実行します。
$ cd android_src $ mkdir ../sources $ awk '{if($2=="kind=\"src\""){print $3}}' development/ide/eclipse/.classpath | awk -F\" '{print $2}' | grep -v ^out | while read SRC do if [ -d $SRC ]; then echo "copy $SRC/* --> ../sources" cp -R $SRC/* ../sources fi done $
作成された sources ディレクトリを丸ごと、
<android導入フォルダ>\platforms\android-8 に移動します。
これで Eclipse からソースが参照できるようになります。
- 確認
Eclipse が起動していたら、再起動します。
試しに、あるソース・ファイルから、ListActivity を選択して、
F3 (Open Declaration) を押すと、ソースが見られるようになりました~