AndroidアプリのSDK関連バージョン設定のそれぞれの違い

minSdkVersion

アプリをインストール&実行することができる最小APIレベル。
SdkVersionより上のバージョンのAndroid端末で動作する。
端末のSdkVersionがこれより低い場合とアプリはインストール出来ないし、これ以上のSDKバージョンの機能を使っているとビルドに失敗する。

targetSdkVersion

アプリがターゲットにしているAPIレベル。もし設定しない場合はminSdkVersionと同じバージョンになる。
targetSdkVersionが何故必要かというと、APIレベルで動作や外観がガラッと変更する事がある為。
targetSdkVersionを指定すれば、もしAndroidのAPIレベルがtargetSdkVersionよりも大きくても開発者が想定した動作・外観でアプリが動作する。
APIレベルがtargetSdkVersionよりも低い場合、実行Android端末のAPIレベルでの動作・外観が優先される。

buildToolsVersion

SDKビルドツールのバージョン。アプリビルドにおけるコンパイラのバージョン。
コンパイラのバージョンなのでcompileSdkVersionを上げた時は一緒に上げる必要がある。
Android Studio 3.0.0以降は必須ではなく、指定しない場合は使用しているpluginが必要とする内で一番高いバージョンが使われる。

compileSdkVersion

アプリをコンパイルする際のAPIバージョン。このAPIバージョンまでの機能をアプリ内で利用することができる。
compileSdkVersionを20に設定した上で、APIレベル21の機能を使おうとするとコンパイルエラーが起きる。
compileSdkVersionを21に設定していたとしても、APIレベル21の機能を使わない限りはAPIレベルが21未満の端末上でもアプリは動作する。
なのでminSdkVersion <= compileSdkVersion == compileSdkVersionの機能をアプリ内で使う場合は条件分岐で対応すると良い。

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
Loading...

    コメント