FeeeeeLog

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でファイルの位置を示します。

"Android

Android Studio > Project > アプリのbuild.gradle & AndroidManifest.xml

build.gradleとAndroidManifest.xmlの2つのファイルに最小バージョンと対象バージョンを指定可能ですが、通常build.gradleに記載します。
アプリのbuild.gradleに最小バージョンと対象バージョンを記述することで、ビルド時にAndroidManifest.xmlに最小バージョンと対象バージョンを埋め込んでくれるからです。

アプリのbuild.gradleに最小バージョンと対象バージョンを指定

アプリのbuild.gradleファイルに、最小バージョンと対象バージョンを記載した例です。
次のminSkdVersionとtargetSdkVersionがそれぞれ最小バージョンと対象バージョンの指定であり、その数値にはAPIレベルの値を記載します。

AndroidManifest.xmlに最小sdkバージョンを記述する

先程伝えたとおり、AndroidManifest.xmlに直接最小バージョンと対象バージョンを記述することはありませんが、次のようにAndroidManifest.xmlの<uses-sdk>要素の属性に指定します。

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)」について、も参考になります。