色々メモ

技術系のメモとかを書いておきます

eclipseでAndroid SDKのソースコードを見る

デバッグ中にAPIソースコードをみたくなる事ありますよね。そこでeclipseからAndroid SDKソースコードを見る方法を調べました。

環境

1.gitをインストール

Git(ギット)とは,ソフトウエアのリビジョンおよびソースコードを管理するために使われるオープンソースの分散型バージョン管理システムです。
(中略)
話題の携帯機器向けOS「Android」のソースコードもGitを使って管理されていたりします。

http://itpro.nikkeibp.co.jp/article/Keyword/20090508/329716/

このgitを使ってソースコードをダウンロードします。
調べてみるとWindowsでgitを使うにはCygwinを入れてアレコレする方法が出てきたのですが、ちょっと面倒だなーと思いさらに調べると、便利ツールがありました。

msysgit-http://code.google.com/p/msysgit/

Windowsからgitを使うためのソフトウェアで、インストーラーでサクっとインストールできます。
ここではGit-1.7.0.2-preview20100309.exeをダウンロードしてインストールします。
後でコマンドラインから呼び出すのでパスを通しておいてください。

私の環境では下記をPATHに追加しました。

C:\msysgit\msysgit\cmd

2.ソースを取得

まず、作業用のディレクトリを作成します。
ここでは下記のようにしました。

C:\android\mydroid

mydroidにgitで取得したソースコードをダウンロードしてきます。

コマンドプロンプトを起動してC:\android\mydroidに移動します。
そして下記コマンドを実行します。

git clone git://android.git.kernel.org/platform/frameworks/base.git

しばし待つ(環境によってはかなり時間がかかるかもしれません)とソースコードが取得できます。

3.eclipseでソースを見れるように設定

私の環境は下記のようなディレクトリ構成です。
androidのバージョン毎にディレクトリが分かれています。

C:\android
 |__android-sdk-windows
 |__add-ons
(略)
 |__platforms
    |__android-2    ←------Android1.1
    |__android-3    ←------Android1.5
    |__android-4    ←------Android1.6
    |__android-5    ←------Android2.0
    |__android-6    ←------Android2.0.1
    |__android-7    ←------Android2.1-update1
    |__android-8    ←------Android2.2

プロジェクトでターゲットに設定したバージョンのディレクトリ内にソースコードを配置することで、eclipseからソースが見れるようになります。

例)Android1.6(android-4)にソースコードを配置する場合
1.ソース配置用ディレクトsourcesを作成
(ディレクトリ名を間違えないよう注意)

C:\android\android-sdk-windows\platforms\android-4\sources

2.sourcesディレクトリにgitで取得したソースのうちmydroid\base\core\java以下をコピー
3.core配下に無いソースで必要なものがあればmydroid\baseから同様にコピー
4.eclipseを再起動

4.Android SDKのソースを見てみる

4.1.適当なプロジェクトを開く(該当するバージョンのディレクトリにソースコードを配置しておくこと)。

4.2.パッケージエクスプローラからAndroidx.x(該当するバージョン)を選択。


4.3.見たいソースのパッケージを選択する。ここではandroid.appを選択。


4.4.見たいソース(.classが付いている)を選択。ここではActivity.classを選択。
ソースコードが表示される。


自分で書いたソースコード中で「宣言を開く」としてもソースを見ることができます。

補足

  • ソースコードをブラウザから直接見たい場合は下記URLからアクセスすると見れます。

見たいソースコードの"raw"をクリックしてください。
projects / platform/frameworks/base.git / tree
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=core/java/android/app;hb=HEAD

  • もし、ソースが見れないときは、sourceディレクトリ配下に該当するパッケージが配置されているか確認してください。もし無いようでしたら、おそらくmydroid\base配下にあると思うので、それをsourceディレクトリにコピーしてください。
  • 注意:gitでダウンロードしたソースはバージョンが最新のものだと思われます。そのため違うバージョンをターゲットにしたプロジェクトで見るとズレ等が起こる事があります。

参考URL

http://www.mori-soft.com/index.php?option=com_content&view=article&id=77:androideclipsesdk&catid=7:smartphone&Itemid=14

http://d.hatena.ne.jp/yhanada/20090731/1249045594

http://simultechnology.blendmix.jp/blog/archives/1042

http://magpad.jugem.jp/?eid=83