プロジェクト構成

Androidのページを渉猟してるだけで時間が経ってしまった。
プロジェクトのフォルダ構成について説明してあるページを抄訳だけしておく。

もとページはProject layout

  • bionic 組み込み用の低レベルライブラリ。Cのランタイムやlibc, libm, libdl, dynamic linkerとか書いてある。
  • bootloader/legacy ブートローダ*1のリファレンスソース。正式じゃないらしい。
  • build ビルド関連
  • dalvik 言うまでもなくJavaVM
  • development ハイレベルなdevelopment*2デバッグツールなど。
  • frameworks/base コアなAndroidアプリのフレームワークらしい。ブロック図で示されていた、アプリより一つ下のレベルのライブラリだろう。
  • frameworks/policies/base フレームワークのポリシー*3を設定するところ。
  • hardware/libhardware ハードウェアを抽象化するレイヤ。ここはリファレンスぽい。
  • hardware/ril ラジオインターフェースレイヤ。ここもリファレンス。
  • kernel linuxカーネル。ベースはARM向け2.6.25らしい
  • prebuilt linuxMacをサポートするためのもろもろ。ところでWindowsは?嫌いなのかな。嫌いなんだろうな。
  • recovery リカバリ(端末が逝っちゃったときの復旧用ツール)
  • system/bluetooth Bluetoothですな。
  • system/core 最小限のブート構成とある。リカバリに入るためにもシステムは最低限稼働しなきゃいけないわけで。*4
  • system/extras 低レベルなデバッグと調査ツール。クラッシュダンプや、CPU負荷のプロファイリングなどかな。
  • system/wlan/ti Wifi802.11b/gのソース。Texas Instrumentsがここは全部フリーかつオープンで提供すると言ってた。ぜひ目を通したいおいしいところ。

こんなところ。眠いので推敲せず寝る。間違ってたら指摘してくださいましな。

*1:電源入れてから起動しきるまでの処理

*2:何をさすのかわからん

*3:セキィリティの設定とかかな?

*4:たとえば、電源、メモリ、USB通信など。