Androidソースリーディング 「ツール編」

Androidソースリーディング 「ツール編」
日本Androidの会(JAG) Android-SDK WG、事務局長
日本Javaユーザ会(JJUG) 幹事
SIPropプロジェクト 代表
Cloud Market社
グロースエクスパートナーズ社
今村謙之
©Japan Android Group, 2008
1
Agenda
Android-SDKのソースを読む!
Eclipse編
nativeのソースを読む!
OpenGrok編
©Japan Android Group, 2008
2
ターゲット
Eclipse使い
以上
©Japan Android Group, 2008
3
ターゲット
Androidアプリケーション開発者
勉強会 WG
Android-SDK WG
のメンバー
想定状況
Activityって、どこでnewされるんだろう?
OpenGL/ESを使ったら、ligcでエラーだよ!
Dalvik VMを覗いてみたい><
あくまで、ソースを『読む』コトに主眼
©Japan Android Group, 2008
4
Eclipse編
©Japan Android Group, 2008
5
なにができるの?
ステップ実行しながら、Android-SDK部分の
ソースが追えるようにする!
©Japan Android Group, 2008
6
自白します
Android-SDK WG 第一回セッション
http://www.androidgroup.jp/index.php?%CA%D9%B6%AF%B2%F1%2F
Android%20SDK%20WG%20%C2%E81%B2%F3%20%
A5%BB%A5%C3%A5%B7%A5%E7%A5%F3%A1%CA2
008.10.25%A1%CB#z7289fee
Android-SDK WGのMLの投稿
http://groups.google.com/group/android-sdkjapan/browse_thread/thread/37a6bc3e9ec4c67
上記、そのものです(w
©Japan Android Group, 2008
7
準備
1. Androidのソース一式を入手
ソースの入手方法は、後述
2. Rubyのセットアップ
http://www.ruby-lang.org/
3. 江川さん謹製スクリプトの入手
http://groups.google.com/group/android-sdk-japan/browse_thread/thread/37a6bc3e9ec4c67
4. スクリプトのsrcとdstの変更
srcは、「1」のソースのあるディレクトリ
dstは、「Android-SDKをインストールした先のsources
ディレクトリ」
Windowsでは、ドライブを指定せずに、「/」でOK
5. Debug実行時に、ソースがないと言われた
ら、上記の「1」のディレクトリを指定する
©Japan Android Group, 2008
8
デモ
実演
©Japan Android Group, 2008
9
OpenGrok編
©Japan Android Group, 2008
10
さらなる、深層へ
Eclipseの限界
Androidのフレームワーク、パッケージまでしか
アクセスできない
Androidのソース
Dalvik VM
kernel
nativeなドライバやライブラリ
⇒覗いてみたいですよね?
©Japan Android Group, 2008
11
OpenGrokとは?
OpenSolaris謹製の
大規模ソースを読むための
クロスリファレンス&サーチできる
ソースリーディングツール
詳しくは、こちらまで!
http://www.androidgroup.jp/index.php?%CA%D9%B6%AF%B2%F1%2F%
A5%BD%A1%BC%A5%B9%A5%EA%A1%BC%A5%C7
%A5%A3%A5%F3%A5%B0
©Japan Android Group, 2008
12
機能比較
Feature
LXR
Full text Search
Y
Definition Search
#
Identifier Search
Path search
ctags
cscope
ViewVC
OpenGrok
#
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
History Search
Y
Shows matching lines
Y
Y
Y
Hierarchical Search
Y
query syntax like AND, OR, field:
Y
Incremental update
Y
Syntax highlighting-Xref
Y
Interface for SCM
open source
#
Y
Y
Y
Y
Y
Y
Y
-
-
Individual file download
-
-
Y
Y
Changes at directory level
-
-
#
Y
Y
#
-
Y
Usable URLs
Multi language support
Y
#
Y
©Japan Android Group, 2008
13
デモ
続きは、Webで
©Japan Android Group, 2008
14
おみやげ
Androidのソース一式
OpenGrok セットアップ状態
江川さん謹製スクリプトで生成済みの
sourcesディレクトリ
⇒が、つまったDVDをプレゼント!!!
お帰りの際に、どうぞ
©Japan Android Group, 2008
15