2011年8月16日火曜日

Androidのソースの構成を軽くおさらいしてみる

Android 2.2のソースコードでトップディレクトリを見てみましょう
ソースコードは大きく分けると、Androidのシステムを構成するソース・ファイル群と開発環境を構成するファイル群とに分けられます。

* Androidのコード群
種別 ディレクトリ 概要
Applications packages アプリケーション
Application Framework framework Android Framework
Android Runtime dalvik Dalvik VM
Library external サードパーティ製ライブラリ(正確には、qemuのようなSDK用のプログラムや、pingのようなインストールするコマンドも含まれる)
HAL hardware ハードウェア抽象化レイヤのコード
System system bluetooth tools, システムファイル, wlan等システムに必要なファイル類
Bionic bionic libcおよびローダ等、基本となるライブラリ・プログラムのコード

* 開発環境コード
種別 ディレクトリ 概要
Build関連 build ビルド用のMakefile,シェルスクリプト等
prebuilt バイナリ提供のツール類(クロスコンパイラ等)
device デバイス固有のMakeファイル、スクリプト関連
SDK関連 sdk Software Development Kit code
NDK関連 ndk Native Development Kit code
ツール関連 development Platform engineering tools
テスト関連 cts Android CTS (Compatibility Test Suite)
Bootloader関連 bootable ブートローダリファレンスコード

ポーティングを意識してコードを読んでいくとすると、目を通しておくべき箇所を敢えて選ぶとすると。
  • hardware
    ハードウェアを有効に利用できるようにするのに実装が必要
  • system
    デバイスファイルを作っているinit等、いくつかのプログラムに手を入れる必要があるかも。init.rcのオリジナルも置いてあるので個々は意外とよく探索することになります。
  • device
    デバイスに合わせたビルド環境の構築のために必要
  • framework
    トラブルが起きた時に、logcatの内容からコードを追いかけて行くのによく読む場所

といった所でしょうか。もう少し詳しく踏み込みたい所ですが、まぁ、アーキテクチャの概要という趣旨から外れるので、PF部での発表ではここまででしょうかねぇ。というわけで、今日、明日は、資料作りに専念するため、更新はなしかと思いますので、あしからず。

0 件のコメント:

コメントを投稿