🐥
compileSdk・minSdk・targetSdkの違いって何?(Android)
compileSdk
compileSdkVersionは、Gradleがアプリをコンパイルする際に使用するAndroid APIレベルを指定します。これは、アプリがこのAPIレベル以下に含まれるAPI機能を使用できることを意味します。
引用:https://developer.android.com/studio/build
要はプログラムのソースコードを機械語(バイナリーコード)に変換する時に使うSDKバージョンです。
新しい機能を使えるようにするため、基本的には最新を指定します。
minSdk
アプリの実行に必要な最低限のAPIレベルを定義します。
要はアプリの最低OSバージョンです。
古いOSをサポートする場合、こちらの値を小さくします。
targetSdk
アプリのテストに使用するAPIレベルを指定します。
アプリを動作させるAPIレベルを指定します。
compileSdkと同様で最新を指定すれば良いですが、Android12(APIレベル31)対応が完了していない場合、targetSdkを30にすればAndroid12でも11のように振る舞うということです。
参考記事
Discussion