AndroidOS(プラットフォーム)
いつも、あのAndroidOSってAPIレベル何?
とか、バージョンコードなんだっけ?となるのでまとめ。
APIレベルとバージョンコードの一覧表
| プラットフォーム | APIレベル | バージョンコード |
|---|---|---|
| 6.0 | 23 | M |
| 5.1 | 22 | LOLLIPOP_MR1 |
| 5.0 | 21 | LOLLIPOP |
| 4.4W | 20 | KITKAT_WATCH |
| 4.4 | 19 | KITKAT |
| 4.3 | 18 | JELLY_BEAN_MR2 |
| 4.2,4.2.2 | 17 | JELLY_BEAN_MR1 |
| 4.1,4.1.1 | 16 | JELLY_BEAN |
| 4.0.3,4.0.4 | 15 | ICE_CREAM_SANDWICH_MR1 |
| 4.0,4.0.1,4.0.2 | 14 | ICE_CREAM_SANDWICH |
| 3.2 | 13 | HONEYCOMB_MR2 |
| 3.1.x | 12 | HONEYCOMB_MR1 |
| 3.0.x | 11 | HONEYCOMB |
| 2.3.3,2.3.4 | 10 | GINGERBREAD_MR1 |
| 2.3,2.3.1,2.3.2 | 9 | GINGERBREAD |
| 2.2.x | 8 | FROYO |
| 2.1.x | 7 | ECLAIR_MR1 |
| 2.0.1 | 6 | ECLAIR_0_1 |
| 2.0 | 5 | ECLAIR |
| 1.6 | 4 | DONUT |
| 1.5 | 3 | CUPCAKE |
| 1.1 | 2 | BASE_1_1 |
| 1.0 | 1 | BASE |
※プラットフォームは「Android x.x」
※APIレベル20(KITKAT_WATCH)は、ウェアラブル端末専用
<uses-sdk> | Android Developers
AndroidOSで処理を変えたい場合のコードサンプル
『Build.VERSION.SDK_INT』で、端末のOS(APIレベル)がintの値として取得できます。
『Build.VERSION_CODES』に各OSのバージョンコードが定数として定義されているので、
これらを比較すればOK。
if ( Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1 ){
// Android 2.3.3(APILevel 10)以前の場合
}
AndroidOSで使用するリソースを変えたい場合
各リソースのフォルダ名に -v{APIレベル} を付加します。
指定したAPIレベルより低い端末をサポートするために、-vをつけないフォルダは必須!
例えばフォルダを2つ用意した場合、
APIレベルと使用されるフォルダの関係は以下のようになります。
| フォルダ名 | 対象となるAPIレベル |
|---|---|
| values | 1~2 |
| values-v3 | 3~6 |
| values-v7 | 7~ |
AndroidOSごとのシェア
GooglePlayでは、アクセスされた端末の情報を元にしてシェアを算出しています。
現時点では、2系が4%、4系が72.5%、5系が23.5%とのこと。5系への移行が進んでいますね!
Dashboards | Android Developers
