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