AndroidのアプリにAPI レベルを指定する方法
アプリをリリースするためには、アプリを使用可能なOSのAPI レベルの範囲を指定する必要があります。
API レベルを指定することで、例えばAndroid 5.0~8.0 までを対象のアプリにすると決めることができます。
こんな方を対象としています。
- Android Studioで開発している
- アプリの対象バージョン指定方法が分からない
スポンサーリンク
もくじ
アプリのAPI レベルの対象範囲とは
アプリには、API レベルを指定することでユーザーが利用可能なAndroidのバージョンの範囲を指定することができます。
このAPI レベルの記載は、最小バージョンと対象バージョンの2つを指定するのが普通です。
最小バージョン・対象バージョンの記述方法について詳しく見ていきます。
2018年からアプリの対象バージョンのAPI レベルの要件が厳しくなります。この情報については2018年からのAPIレベルの要件の記事を参照してください。
API レベルを記述する
「アプリのbuild.gradle」と「AndroidManifest.xml」にAPI レベルを記載することでアプリの対象バージョンを指定します。
「アプリのbuild.gradle」としているのは、build.gradleはもう1ファイルあり、それはプロジェクトのbuild.gradleであるために区別しています。
Android StudioのProjectでファイルの位置を示します。
build.gradleとAndroidManifest.xmlの2つのファイルに最小バージョンと対象バージョンを指定可能ですが、通常build.gradleに記載します。
アプリのbuild.gradleに最小バージョンと対象バージョンを記述することで、ビルド時にAndroidManifest.xmlに最小バージョンと対象バージョンを埋め込んでくれるからです。
アプリのbuild.gradleに最小バージョンと対象バージョンを指定
アプリのbuild.gradleファイルに、最小バージョンと対象バージョンを記載した例です。
次のminSkdVersionとtargetSdkVersionがそれぞれ最小バージョンと対象バージョンの指定であり、その数値にはAPIレベルの値を記載します。
1 2 3 4 5 6 7 8 |
android { ... defaultConfig { ... minSdkVersion 14 targetSdkVersion 24 } } |
AndroidManifest.xmlに最小sdkバージョンを記述する
先程伝えたとおり、AndroidManifest.xmlに直接最小バージョンと対象バージョンを記述することはありませんが、次のようにAndroidManifest.xmlの<uses-sdk>要素の属性に指定します。
1 2 3 4 5 |
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="27" /> ... </manifest> |
AndroidManifest.xmlのバージョンとAPIレベル (xxx Sdk Version)
AndroidManifest.xmlファイルのルート要素<manifest>の子要素<uses-sdk>の属性にAPI レベルを指定したときの意味を説明します。
先程説明したとおり、こちらには何も設定しなくてもアプリのbuild.gradleに指定していれば問題ありません。
<uses-sdk>の属性 | 説明 |
android:minSdkVersion | アプリが実行できる最小バージョンです。 これより小さいとインストールできません。 属性省略時のデフォルトは”1″です。 |
android:targetSdkVersion | アプリが実行するように設計されたバージョンです。 できる限り新しいバージョンを指定すべきです。 minSdkVersion以上の値を設定します。 属性省略時はminSdkVersionの値となります。 |
android:maxSdkVersion | 非推奨の属性です。 アプリが実行できる最大バージョンです。 簡単に言えばAndroid2.0.1以上では属性値は無効です。 |
さいごに
API レベルには何の値を設定するのかわからないという方は、API レベルとバージョンの対応表をご覧ください。
2018年からAPI レベルの要件が厳しくなるので、定期的に更新が必要です。
詳しくは、2018年からのAPIレベルの要件の記事を参照してください。
また公式サイトの「アプリのバージョニング(Android Developers)」について、も参考になります。