-
Notifications
You must be signed in to change notification settings - Fork 354
1.01. Android OSについて
この章では、Android OSへの理解を深めます。
Google が開発している、携帯情報端末向けのプラットフォームです。 オープンソースで開発されており、GitHub:android にプロジェクトが公開されています。
Android プラットフォームのアーキテクチャは下記のようになっています。
Linux をベースとした OS(Kernel) の上に、標準ライブラリや Android ランタイムなどのミドルウェアが乗っています。 さらに、ミドルウェアを抽象化したレイヤとして、アプリケーションフレームワーク( Android Framework )のレイヤが提供されています。 私達が普段開発するアプリケーションは、この図の最上位のレイヤに位置づけられ、アプリケーションフレームワークを使いながらアプリケーションを開発していくことになります。
Android アプリは、Android ランタイムの DalvikVM の上で動作するようになっています。 開発に使用する言語は Java が公式にサポートされています。この他、Scala などの Java プラットフォーム上で動作する言語も使用出来ます。
DalvikVM は、メモリ搭載量の少ない携帯端末向けに最適化された(主にメモリ使用量を減らした) JavaVM と云われることもありますが、 公式の JavaVM(SunVM)と互換性がないものが含まれていたり、DalvikVMの実行するバイトコードが JavaVM のそれと異なるものになっていたりします。
現在、最新バージョンは Android 4.2 です。
バージョン毎、提供される API にも差異があります。 基本的には、新しいほどより多くの API を利用することができます。一方で、古いバージョンでバグがあったり、別の手段が提供されたりしたために推奨されなくなった API も存在します。 アプリを開発する上では、OS のバージョンごとの API の差異を考慮し、互換性を保つことが重要になります。 利用できるAPI郡はAPI Levelによって一意に識別することが可能です。 また、iOS と異なり、メーカ毎に様々なスペックを持つ機種が開発されているため、機種ごとの互換性も考慮する必要があります。
バージョン番号 | API Level | コードネーム |
---|---|---|
1.5 | 3 | Cupcake |
1.6 | 4 | Donut |
2.0 | 5 | Eclair |
2.1 | 7 | Eclair |
2.2 | 8 | Froyo |
2.3 | 9 | Gingerbread |
3.0 | 11 | Honeycomb |
3.1 | 12 | Honeycomb |
3.2 | 13 | Honeycomb |
4.0 | 14 | Ice Cream Sandwich |
4.1 | 16 | Jelly Bean |
4.2 | 17 | Jelly Bean |
(一部のマイナーバージョンの違いについては省略してます) |
Eclipse の利用が推奨されていますが、IntelliJ IDEA など他のIDEでも開発することができます。
Eclipse で開発環境を準備する場合は、Android SDK と ADT Plugin が別途必要です。
現在、Google が公式に配布している開発環境の ADT Bundle には、Android SDK と、ADT Plugin がインストール済みの Eclipse が入っています。
Android SDK は、Android 4.2 のもののみがセットアップされているため、この他の OS バージョンを扱う場合は、別途インストールが必要です。
これらの環境は、開発に使う PC の OS を問わず整えることができます。
Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.