Android API レベルとバージョン一覧表と主なトピック
提供する情報はこちらです。
- AndroidのAPI レベルと各バージョンと対応の一覧表
- 各バージョンの大きな変更点や新機能の概要
- API レベルの使い方
- 2018年から厳しくなるAPI レベルの要件について
スポンサーリンク
もくじ
API レベルとバージョン対応一覧と主なトピック
コードネーム | API レベル |
Android バージョン |
リリース | Build.VERSION_CODES | 備考 |
---|---|---|---|---|---|
Vanilla Ice Cream | 35 | 15 | プレビュー | VANILLA_ICE_CREAM | |
Upside Down Cake | 34 | 14 | 2023/10/04 | UPSIDE_DOWN_CAKE | |
Tiramisu | 33 | 13 | 2022/08/15 | TIRAMISU | |
32 | 12L | 2022/03/07 | S_V2 | ||
Snow Cone | 31 | 12 | 2021/10/04 | S | ・パーソナル感を強化。Material Youデザインの採用など ・プライバシー設定をユーザーに。認識しやすさ、設定しやすさの向上など |
Red Velvet Cake | 30 | 11 | 2020/09/08 | R | ・新しいパーミッション制御 など |
Quince Tart | 29 | 10 | 2019/09/03 | Q | お菓子のコードネームが廃止された。 Android 10の概要 ・プライバシーの変更 ・セキリティの強化 など |
Pie | 28 | 9 | 2018/08/06 | P | Android Pieの概要 ・屋内位置測定 ・通知の改善 ・マルチカメラのサポート など Android 9 Pie の新機能 開発者向けハイライト Android 9 Pie で互換性を維持して動作させる |
Oreo | 27 | 8.1 | 2017/12/05 | O_MR1 | Android 8.1の概要 ・Android Go版を含む ・ニューラルネットワークAPI ・自動入力フレームワークの改善 ・通知の変更 など |
26 | 8.0 | 2017/08/21 | O | Android Oreoの概要 ・通知(通知チャンネルの導入・通知バッジなど) ・自動入力フレームワークの導入 ・JobSchedulerの改善 など 2018年からのAPIレベルの要件 Android 8.0 で暗黙的ブロードキャストが受信できない |
|
Nougat | 25 | 7.1.1 | 2016/12/05 | N_MR1 | Android 7.1の概要 ・アプリのショートカット ・円形のアプリアイコン など |
7.1 | 2016/10/04 | ||||
24 | 7.0 | 2016/08/23 | N | Android Nougatの概要 ・マルチウィンドウ ・通知の強化 ・Dozeの改良 ・バックグラウンド処理の最適化 ・データセーバー など |
|
Marshmallow | 23 | 6.0.1 | 2015/12/07 | M | Android Marshmallowの概要 ・実行時パーミッション ・アプリの自動バックアップ ・省電力(Doze・アプリスタンバイ) など |
6.0 | 2015/10/05 | ||||
Lollipop | 22 | 5.1.1 | 2015/05/09 | LOLLIPOP_MR1 | Android 5.1の概要 ・マルチSIMカードのサポート ・携帯通信会社のサービス など |
5.1 | 2015/04/21 | ||||
21 | 5.0.2 | 2014/12/19 | LOLLIPOP | Android Lollipopの概要 大がかりな変更あり ・マテリアルデザイン導入 ・通知の改善(ロック画面の表示など) ・バッテリーセーバー など |
|
5.0.1 | 2014/12/02 | ||||
5.0 | 2014/11/12 | ||||
KitKat | 20 | 4.4W.2 | 2014/10/21 | KITKAT_WATCH | Wear用 |
4.4W.1 | 2014/09/06 | ||||
4.4W | 2014/09/25 | ||||
19 | 4.4.4 | 2014/06/19 | KITKAT | ||
4.4.3 | 2014/06/02 | ||||
4.4.2 | 2013/12/09 | ||||
4.4.1 | 2013/12/05 | ||||
4.4 | 2013/10/31 | ||||
Jelly Bean | 18 | 4.3.1 | 2013/10/03 | JELLY_BEAN_MR2 | |
4.3 | 2013/07/24 | ||||
17 | 4.2.2 | 2013/02/11 | JELLY_BEAN_MR1 | ||
4.2.1 | 2012/11/27 | ||||
4.2 | 2012/11/13 | ||||
16 | 4.1.2 | 2012/10/09 | JELLY_BEAN | ||
4.1.1 | 2012/07/11 | ||||
4.1 | 2012/07/09 | ||||
Ice Cream Sandwich |
15 | 4.0.4 | 2012/03/29 | ICE_CREAM_SANDWICH_MR1 | 2.3と3.xを1つに統合。スマートフォン用の2.3とタブレット用の3.xで二分化されたものまとめた |
4.0.3 | 2011/12/16 | ||||
14 | 4.0.2 | 2011/11/28 | ICE_CREAM_SANDWICH | ||
4.0.1 | 2011/10/21 | ||||
4.0 | 2011/10/18 | ||||
Honeycomb | 13 | 3.2.6 ・・・ 3.2 |
2012/02 ・・・ 2011/06/15 |
HONEYCOMB_MR2 | タブレット用 |
12 | 3.1 | 2011/03/10 | HONEYCOMB_MR1 | ||
11 | 3.0 | 2011/02/22 | HONEYCOMB | ||
Gingerbread | 10 | 2.3.7 ・・・ 2.3.3 |
2011/09/21 ・・・ 2011/02/09 |
GINGERBREAD_MR1 | スマートフォン用 |
9 | 2.3.2 2.3.1 2.3 |
2011/02 2010/12 2010/12/06 |
GINGERBREAD | ||
Froyo | 8 | 2.2.3 ・・・ 2.2 |
2011/11/21 ・・・ 2011/03/20 |
FROYO | |
Eclair | 7 | 2.1 | 2010/01/12 | ECLAIR_MR1 | |
6 | 2.0.1 | 2009/12/03 | ECLAIR_0_1 | ||
5 | 2.0 | 2009/10/26 | ECLAIR | ||
Donut | 4 | 1.6 | 2009/09/15 | DONUT | |
Cupcake | 3 | 1.5 | 2009/04/27 | CUPCAKE | |
Banana Bread | 2 | 1.1 | 2009/02/09 | BASE_1_1 | |
Apple Pie | 1 | 1.0 | 2008/09/23 | BASE |
参考:ja.wikipedia.org/wiki/Androidのバージョン履歴
参考:en.wikipedia.org/wiki/Android_version_history
スポンサーリンク
API レベルとは
APIレベルとは、Androidプラットフォームのバージョンによって提供されるフレームワークAPIリビジョンを特定するユニークな整数です。
簡単に言えば、Androidバージョンに対応したAPI レベルがあるということです。
このAPI レベルを使用してアプリ開発者が行うことは主に次の2点です。
- 端末のバージョン(API レベル)でアプリの処理を分岐させる
- Google Playでアプリを公開するバージョン(API レベル)を指定
それでは1つずつ見ていきます。
端末のバージョン(API レベル)でアプリの処理を分岐させる
プログラム中で実行環境の端末のバージョンを判定してロジックを分ける方法を説明します。
まずは、実行環境の端末のバージョンは次の値で取得できます。
実際に取得できる値はバージョンではなくバージョンと対応するAPI レベルの値です。
1 |
Build.VERSION.SDK_INT |
例えばバージョン5.0以上と未満で処理を分ける場合、次のようになります。
1 2 3 4 5 |
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // Android 5.0 以上のバージョンの処理 } else { // Android 5.0未満のバージョンの処理 } |
if文の左辺でAndroid端末のAPI レベルを取得し、Build.VERSION_CODESの値を右辺に設定して、特定のAPI レベル以上であるかを判断しています。
Google Playでアプリを公開するバージョン(API レベル)を指定
アプリをリリースするためには、アプリを使用可能なOSのAPI レベルの範囲を指定する必要があります。
例えばAndroid 5.0~8.0 までを対象のアプリにすると決めるということです。
設定するのは以下の値で、この値にAPI レベルを使用します。
- 最小バージョン(minSdkVersion)
- 対象バージョン(targetSdkVersion)
詳細は、アプリにAPI レベルを指定する方法をご覧ください。
API レベルの要件が2018年から厳しくなる
2018年からアプリのAPI レベルの要件が厳しくなります。この情報については2018年からのAPIレベルの要件の記事を参照してください。
想定していた範囲内ではありますが、API レベルの要件だけでなく更新をしないアプリにも手を打ってきているようです。Android Qで、targetSdkVersionに低いAPI レベルを指定するとアプリの起動時に警告が表示されるかもしれないという情報が出てきました。
アプリのGoogle Playの公開バージョン(API レベル)の選択について考える
Google Playでアプリを公開する際にどのAPI レベルを選択すべきかについて考えます。
さいごに
API レベルについてより詳しく知りたい場合は、Googleの公式サイトの「API レベルとは(Android Developers)」を参照してください。