Androidのバージョン履歴
この項目ではGoogleが開発した、スマートフォンやタブレットに代表されるモバイル機器向けのオペレーティングシステムであるAndroidのバージョンおよびリリース履歴について扱う。
一部の例外を除き、やGoogleから発表されている標準のAndroidについて記述する。サードパーティー(メーカーまたはキャリア)が独自に追加・改変した機能は含まない。
歴代のコードネームのうち、1.5 Cupcakeから9 Pieまでは頭文字がバージョンの発表順にCからのアルファベット順で始まる菓子の名前が付けられており、マスコットのAndroidロボットが各コードネームの菓子に扮していた。また、コードネームがエンドユーザー向けの製品別名として使われることもあった。Android 10からはこのようなコードネームが廃止され、また色覚障害者にも見やすいようにロゴの変更とマスコットの色味の変更が行われた。ただし開発者向けのプレビュー期間中は、依然としてQやRなどのアルファベット1文字によるコードネームが使われており、またGoogle社内ではQuince TartやRed Velvet Cakeのようなコードネームが使われていた。Android 13以降では、Tiramisuのようなコードネームが開発者向けにも再び公開されるようになっている。Android SDKおよびAndroid NDKには、コードネームに対応したAPIレベルのエイリアス定数も用意されている。
Androidの各バージョンには、明確なサポート期間が設けられていない。また、Androidオープンソースプロジェクト(AOSP)に対して、セキュリティ脆弱性(セキュリティホール)を修正するパッチがGoogleによって導入されたとしても、サードパーティーの各ベンダーがそれを取り込んだセキュリティパッチを自社デバイス向けに配信するとは限らない。上記の表では、最新のセキュリティに関する公開情報に対象バージョンが含まれているかどうかを基準にしてサポート状況を記載している日本語版のサイトは翻訳が遅れているため、英語版を基準としている。。
Androidの各バージョンには対応する「APIレベル」が規定されている。APIレベルは使用可能なアプリケーションプログラミングインタフェース(API)すなわち機能を定めるものである。新しいバージョンのAndroid OSで追加されたAPIを使用するには、アプリケーションのビルドに新しいバージョンのAndroid SDKを使用する必要があるが、アプリケーションが動作できる最小のAndroid OSバージョンを決めるプロパティである「最小SDKバージョン」(minSdkVersion)を超えるバージョンのAPIを使用するには、実行環境のAPIレベルに応じて動的に分岐するか、リフレクションを使用してサポート有無を判断する必要がある。
Androidアプリケーションは「ターゲットSDKバージョン」(targetSdkVersion)のプロパティを持つ。Androidは旧バージョンのOSの動作仕様を模倣する互換性モードを備えており、新しい仕様変更にはターゲットSDKバージョンに左右されるものとされないものがある。例えばアプリケーションのターゲットSDKバージョンが30のとき、Android 12上ではAndroid 11互換の動作が有効となる。アプリケーションのターゲットSDKバージョンを31に変更すると、Android 12本来の仕様に基づいて動作するようになる。ただし、セキュリティ向上などの観点から、新しいバージョンのOS本来の仕様に基づいて動作することが望ましい。2018年以降、Google Playストアでは、新しいアプリやアプリのアップデートは最新のAndroid APIレベルをターゲットに指定することが義務づけられるようになった。この要件は毎年改訂・更新されている。
Androidの開発は、2003年にAndroid Inc.によって開始された。Android Inc.は、2005年にGoogleに買収された。
ベータ版のリリース前に、Google内部向けに少なくとも2つのリリースが行われている。"Astro Boy"および"Bender"のコードネームが、これらプレリリース段階の中間目標に対して内部的に用いられていた。
Dan Morrillによって最初のマスコットロゴが作成されたが、現在のAndroidのロゴはIrina Blokによってデザインされたものである。
Androidのベータ版は、2007年11月5日よりリリースした。また同年11月12日より、ソフトウェア開発キット(SDK)をリリースした。11月5日はAndroidの誕生日として広く祝われている。SDKのベータ版のリリース歴は以下の通りである。
11月12日:m3-rc20a
11月16日:m3-rc22a
12月14日:m3-rc37a
2月13日:m5-rc14
3月3日:m5-rc15
8月18日:0.9 Beta
9月23日:1.0-r1
Androidの最初のバージョンは2008年9月23日に公開された。2008年10月22日には最初のAndroid端末として、台湾の端末メーカーであるHTCが開発したHTC DreamがT-モバイルから発売された。
Google内部ではPetit Four(プチフール)と呼ばれていたが、公式なコードネームではない。
このバージョンからコードネームに菓子の名前が使われるようになった。「カップケーキ」が由来。
コードネームは「ドーナツ」が由来。
コードネームは「エクレア」が由来。
コードネームは「フローズンヨーグルト」の通称が由来。
コードネームはアメリカなどで一般的に食べられている、生姜を使った洋菓子「ジンジャーブレッド」が由来。
Android 3.xは、タブレット向けに設計されたバージョンとなった。コードネームは、Post Foods社が製造する蜂の巣の形をしたシリアル食品「ハニカム」が由来。タブレットに特化したバージョンであることから、タブレット以外のデバイスに搭載された場合の混乱を避けるため、Android 4.0のリリースまでソースコードが公開されなかった。
コードネームは、アイスクリームをクッキーやビスケットでサンドイッチのようにはさんだ「アイスクリームサンドイッチ」が由来。
スマートフォン向けのAndroid 2.3と、タブレット向けのAndroid 3.xで二分化されたものを、一つに統合したバージョンとしてAndroid 4.0が登場した。
メモリ512MBでも動作するが、メモリが1GB以上ないと快適(≒高速)に動作しないため、日本のキャリア(NTTドコモ、au、ソフトバンク)では、DRAMが1GB以上の端末のみ、Android 4.0へのアップデートを行う。
スクリーンショット機能はAndroid 4.0以降では以前のバージョンからバージョンアップした機種も含め全て電源ボタンとボリューム下の同時押しにより出来る。
コードネームは、アメリカで一般的な砂糖菓子「ジェリービーン」が由来。フルHDディスプレイを搭載したスマートフォン端末において、400を超えるPPI(pixel per inch)をサポートするバージョンである。操作性についてもProject Butter(プロジェクトバター)の成果が活かされており、4.0からのマイナーバージョンアップらしからぬ面を持ち合わせている。
コードネームはネスレ(アメリカではハーシーズ)が製造・販売するチョコレート菓子「キットカット」が由来。スイスのネスレ本社にブランド名の使用許可を得ており、キットカットとAndroidがコラボレーションした商品も発売された。なお、このコードネームが決定するまでは、フロリダ州の伝統的な焼き菓子が由来の「Key Lime Pie(キーライムパイ)」がコードネームとしてGoogleの社内で使用されていた時期もあったが、「キーライムパイの味を知っている者が少ない」といった理由でKitKatに変更された。
Googleは、AOSPでAndroid Wearのソースコードを2014年7月21日に公開した。公開されたバージョンはAndroid 4.4ベースのKitkat-wear 4.4w r1となっている。主にLG G WatchとSamsung Gear Liveのカーネルソースである。
Android 5.0は、4.4以降のメジャーバージョンである。コードネームの「Lollipop(ロリポップ)」は、棒付きのハードキャンディのこと。2014年6月にAndroid Lとして、開発者プレビュー版をNexus 5とNexus 7向けに公開した。その後、同年の10月15日にバージョンとコードネームが正式発表され、10月17日に5.0のSDKとNexusシリーズを含むシステムイメージのプレビュー版(LPX13D)が公開された。
5.0はAndroid初となる64ビットプロセッサに対応したが、32ビット向けのイメージも公開されている。マテリアルデザインの導入によって、インターフェースのデザインに大きな変更が加えられたことが特徴。
マテリアルデザインは、「紙とインクの古典的なデザイン」に基いて設計されており、全体的にシンプルな見た目となっている。ひとつはマテリアル(物質)という印刷ベースのデザインでルール化されており、直感的かつ統一的なデザイン設計となっている。
もうひとつは、見た目の3次元性が強化されており、各UIプロパティにZ軸の要素が割り当てられている。これによって階層構造や影、奥行きなどが視覚的に表示され、各要素の移動や変化をユーザーが直感で理解できるようになっている。
Android 5.0向けの最初の64bit対応プロセッサは、ARMアーキテクチャのNVIDIA Tegra K1と、Qualcomm Snapdragon 410/610/810がある。また64bit ABIsをサポートしているため、Javaで作成されたアプリは特別な変更をしなくても、64ビットアーキテクチャで動作するように設計されている。
新たにマルチネットワークをサポートし、複数のネットワークを途切れさせずにシームレスに切り替えられるようになった。Bluetoothは4.1に対応しており、Android 5.0が初の対応OSとなる。
コードネームはマシュマロが由来。2015年10月6日にリリースされた。
Android 6 「Mashmallow(マシュマロ)」では、主に前のバージョン(Lollipop)のユーザー体験を全体的に改善することに注力された。新しいパーミッションアーキテクチャが導入されたほか、コンテクスチュアルアシスタント(Now on Tap新機能で文脈に基づいた検索結果を提供するために最初に使われた)のための新しいAPI、デバイスが物理的に使われていないときにバックグランドの活動を減らす新しい電源管理システム、指紋認証とUSB Type-Cコネクタのネイティブサポート、microSDへのデータとアプリの移行、その他内部的な変更などが行われた。
コードネームはヌガーが由来。7.0は2016年8月23日にリリースされた。
Android 7「Nougat(ヌガー)」は、OSと開発プラットフォームに注目すべき変化を導入した。これには、複数のアプリを一度に同時に画面上に表示する画面分割、通知へのインラインでの返信、デバイスの機能をスクリーンがオフの間制限する、拡張された"Doze"電力消費抑制モードが含まれる。加えて、プラットフォームがOpenJDKベースのJava環境に変更された。サポートされたデバイスでの"シームレス"なシステム更新機能が追加された。ローレベルグラフィックスAPIであるVulkan 1.0をOSレベルでサポートするようになった。
コードネームはナビスコが製造する「オレオ」が由来。2017年3月21日に最初のプレビュー版が、5月17日に2番目のプレビュー版が、6月8日に3番目のプレビュー版が、同年7月に4番目のプレビュー版がリリースされた。正式版は、アメリカ合衆国での2017年8月21日の日食に合わせて公開された。2017年12月5日に、バージョン8.1が公開された。
Android 8「Oreo(オレオ)」は、通知のグループ化、ビデオでのPIPのサポート、パフォーマンスの改善とバッテリー使用の最適化、オートフィル、Bluetooth 5のサポート、システムレベルでのVoIPアプリの統合、より広い色域、Wifi Awareなどの機能を含む。また、Android Oreoは次の2つのプラットフォームの機能を持つ。一つはAndroid Goで、ローエンドデバイスのためのソフトウェアディストリビューションである。もう一つはHALの実装のサポートである。
コードネームはパイが由来。2018年3月7日に最初のプレビュー版が、同年8月6日に正式版がリリースされた。
コードネームはアルファベット1文字の「Q」。コードネームの命名ルールが変更され、菓子の名前のコードネームは廃止された(命名ルールが変更されなければ"クイーンエリザベスケーキ"となる予定だった。また、内部では"Quince Tart"とも呼ばれていた)。色覚障害者にも見やすいように「Android」のロゴの変更とマスコットの色味の変更が行われた。2019年3月14日に最初のベータ版がリリース、2019年9月3日に正式版がリリースされた。
コードネームはアルファベット1文字の「R」(内部ではRVC"Red Velvet Cake"とも呼ばれていた)。2020年2月19日に発表され、同日に最初の開発者プレビュー版がリリースされた。
最初のベータ版が2020年6月10日にリリース、正式版が2020年9月8日にリリースされた。