Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

1.01. Android OSについて

KeithYokoma edited this page Apr 9, 2013 · 16 revisions

この章では、Android OSへの理解を深めます。

目次

Android OSとは

Google が開発している、携帯情報端末向けのプラットフォームです。 オープンソースで開発されており、GitHub:android にプロジェクトが公開されています。

アーキテクチャ

Android プラットフォームのアーキテクチャは下記のようになっています。

Android Architecture

Linux をベースとした OS(Kernel) の上に、標準ライブラリや Android ランタイムなどのミドルウェアが乗っています。 さらに、ミドルウェアを抽象化したレイヤとして、アプリケーションフレームワーク( Android Framework )のレイヤが提供されています。 私達が普段開発するアプリケーションは、この図の最上位のレイヤに位置づけられ、アプリケーションフレームワークを使いながらアプリケーションを開発していくことになります。

DalvikVM

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 が別途必要です。

これらの環境は、開発に使う PC の OS を問わず整えることができます。

GitHub Pagesへ移行しましたmixi-inc.github.ioへお願いします。

Clone this wiki locally