Android 2.2のソースコードでトップディレクトリを見てみましょう。
ソースコードは大きく分けると、Androidのシステムを構成するソース・ファイル群と開発環境を構成するファイル群とに分けられます。
* Androidのコード群
       
* 開発環境コード
       
ポーティングを意識してコードを読んでいくとすると、目を通しておくべき箇所を敢えて選ぶとすると。
 
といった所でしょうか。もう少し詳しく踏み込みたい所ですが、まぁ、アーキテクチャの概要という趣旨から外れるので、PF部での発表ではここまででしょうかねぇ。というわけで、今日、明日は、資料作りに専念するため、更新はなしかと思いますので、あしからず。
ソースコードは大きく分けると、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 件のコメント:
コメントを投稿