クラなんとか or くらなんとか or cla なんとかの日記

2010-10-11

Eclipse で Android のソースが見たい

Android で UnitTest を書こうと思ったんだけど,

ドキュメントを見てもよくわからんかった.

困ったらソースを見れということで,Eclipse から追えるようにしてみた.

ソース自体は,以下から落とせる.

今回は platform/frameworks/base ら辺しか使わない.

以下のスクリプトをframeworks/base にcd してから使うと,

ANDROID_SDK_ROOT のplatform/*/sources ディレクトリ配下にごっそりファイルが

コピーされるようになっている.

最初は,シンボリックリンクでなんとかならんか?と思ったんだけど,

ファイルの重複とかあって,チェックするのが面倒になったので,

コピーするようにしました.

本当は,git co してバージョン毎にコピーしようと思ったけど,

そこまではやってません.

あと,微妙なところで tools を除外していますが,

同名ファイルでファイルサイズが違うことに気付いたので,

除外してみました.詳細は知らないです.

これで,Eclipse を再起動すれば,ソースが見られると思います.*1

参考

*1:Eclipse の再起動が必要なことに気付かなかったので最初全然見られませんでした.orz

clairvyclairvy 2010/10/14 13:27 frameworks/base とか関係なく以下のような感じにすればいいんじゃね?
>||
$ find * -name '*.java' | xargs -I {} sh -c 'perl -MFile::Basename -nle "/^package ([^;]+);/ and do {\$_=\$1;s|\.|/|g;print join(q( ), q(cp), \$ARGV, join(q(/),q(\$ANDROID_SDK_HOME/sources),\$_,basename(\$ARGV)))}" {}'
||<

clairvyclairvy 2010/10/14 15:42 こっちの方がいいんじゃまいか?
>||
$ find * -name '*.java' | xargs -I {} sh -c 'perl -MFile::Basename -nle "/^package ([^;]+);/ and do {\$_=\$1;s|\.|/|g;print join(q( ), q(mkdir), q(-p), join(q(/),q(\$ANDROID_SDK_HOME/sources),\$_),q(;), q(cp), \$ARGV, join(q(/),q(\$ANDROID_SDK_HOME/sources),\$_,basename(\$ARGV)))}" {}'
||<

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/clairvy/20101011/1286801478