2009/05/03

Eclipse のデバッガで android.jar のソースコードを追いかける方法

Andorid 用コードを書いていると、まれに標準ライブラリの中を追いかけたくなる時があります。

残念ながら、Android-SDK に付属してくる android.jar にはソースコードが含まれていないため、ebugger で標準ライブラリ中へ入り込むと、バイトコードが表示されてしまいます。

Eclipse を通じて、android.jar へソースコードを attach しようとすると、ADT はこの操作を許可してくれません。

幸い Erick Blirke さんが貴重な情報を公開してくださっており、SDK の platfroms/*/ 配下へ sources という名前でディレクトリを作り、その中へ android.jar と同じ階層構造で .java ファイルを置けば良いことが分かりました。

そこで、特定ディレクトリ配下の .java ファイルを検索し、package に基づくディレクトリレイアウトで symbolick link を張るスクリプトを作成してみました。githubから入手可能です。
% git clone git://github.com/n-miyo/aspack.git
ただの単一ファイルスクリプなのでWebインターフェイスからコピペして使うのが簡単かもしれません。

手元で MacOS X + Andorid SDK 1.5 + android-sdk-1.5_r1 タグで repo sync したソース、という構成で試したところ、無事に標準ライブラリの中へ入ってゆくことが出来るようになりました。便利です。

なお、このスクリプトは、Michael Forster さんによるjava ファイル群を zip 化する python スクリプトから多くのアイディアを頂きました。

Blirkeさん、Forster さん、貴重な情報、どうもありがとうございました。感謝しております。

0 件のコメント:

コメントを投稿