FeeeeeLog

Android API レベルとバージョン一覧表と主なトピック

   

android-api-level

提供する情報はこちらです。

  • AndroidのAPI レベルと各バージョンと対応の一覧表
  • 各バージョンの大きな変更点や新機能の概要
  • API レベルの使い方
  • 2018年から厳しくなるAPI レベルの要件について

 

スポンサーリンク

 

API レベルとバージョン対応一覧と主なトピック

コードネーム API
レベル
Android
バージョン
リリース Build.VERSION_CODES 補足
Q 29
(予定)
10
Pie 28 9 2018/8/6 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 レベルの値です。

例えばバージョン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)」を参照してください。