[Flutter/Android]ビルドの設定ファイル(build.gradle)に登場する色んなバージョンの違い(compileSdkVersion / buildToolsVersion / minSdkVersion / targetSdkVersion)

モジュールレベル(appレベル)のビルドの設定ファイル(build.gradle)には、様々なバージョン(version)と名のつくものが登場しますが、その違いが一体何やねんということを解説しています。

android {
    compileSdkVersion 27 ← こういうの
    buildToolsVersion '27.0.3' ← こういうの
    defaultConfig {
        applicationId "net.minpro.straightmachine"
        minSdkVersion 15 ← こういうの
        targetSdkVersion 27 ← こういうの
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

 

「compileSdkVersion」と「buildToolsVersion」

blank

 

ビルドは、上のような2つのステップになっていて

  1. ソースコードやアプリで使うリソース(画像・音・データなど)を、コンピューターが読める言葉(バイトコード)に翻訳して、【コンパイルする】
  2. それをアプリに仕立て上げる【ビルドする】

という感じになっていますが、

この

  • 1のプロセスで使うAPIレベルのバージョンが「compileSdkVersion」で、
  • 2のプロセスで使うAPIレベルのバージョンが「buildToolsVersion」

のようです。

「buildToolsVersion」は、build.gradleに必ずしも記述しておく必要はないらしく、その場合はAndroid Studioくんが、自動的にバージョンを設定してくれるようです。

 If you’re using Android plugin for Gradle 3.0.0 or higher, your project automatically uses a default version of the build tools that the plugin specifies.

https://developer.android.com/studio/releases/build-tools

また、「compileSdkVersion」の数字は「targetSdkVersion」より低いとエラーになるようです。

 

「minSdkVersion」と「targetSdkVersion」

「minSdkVersion」は、プロジェクト作成時に設定した、アプリがインストールできる端末の最低のAPIレベル(Androidのバージョン)のことです。

blank

 

「targetSdkVersion」は、公式の説明では

Specifies the API level used to test the app.

と書いてあり、アプリをテストするときに設定するAPIレベル(Androidのバージョン)ということのようです。

テストするときに使うバージョンということですから、「ターゲット」ということなのかもしれませんが、少なくともここでは、

「compileSdkVersion」の数字は「targetSdkVersion」より低いとエラーになる

ということを知っておけば、よさそうです。

(詳しくは下の動画で解説していますので、よろしければご覧ください)

blank

こんな記事も読まれています

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)

はじめての方へ

blank
みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

おすすめコンテンツ

プログラミングを学ぶとどんないいことがあるのか
みんプロ式を選んでいただける6つの理由
ぼくの人生挫折ヒストリー(代表者プロフィール)
ぼくのプログラミング挫折ヒストリー(無料メール講座・6大特典付き)
今最も注目のアプリ開発ツール「Flutter(フラッター)」ミニ動画講座

みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
blank

みんプロ式対面講座(Zoom)

反転授業型3ヶ月集中グループコース(対面講座)
アプリ作成サポート型マンツーマンコース(対面講座)

みんプロ作成アプリ

blank
blank
blank
blank

TOP