[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」

 

ビルドは、上のような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.

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

 

「minSdkVersion」と「targetSdkVersion」

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

 

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

Specifies the API level used to test the app.

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

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

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

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

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

アバター

北川 博之(きーぼー)

みんなのプログラミング by Telulu LLC代表 大阪府生まれ。京都大学経済学部経済学科卒業。 2000年より、日本生命保険、ニッセイアセットマネジメント、パトナム・インベストメンツ(米国)で、日本株トレーダー・アナリスト、経営企画、システム開発等の業務に従事。主に日本株の売買執行・投資分析、経営計画の策定、海外投資家向け日本株営業、社内トレーディングシステム及び経理システムの開発等を行う。 2016年、合同会社てるる設立。スマホアプリプログラマーとして「新感覚脳トレアプリ・記憶戦隊オボエルンジャー」「Meisoー1番シンプルなマインドフルネス瞑想アプリ」をはじめとした、メンタルヘルス・知育系アプリを中心に4タイトル・計8本(Android・iOS)をリリース。 2017年、自身のこれまでの社会人経験・プログラミング経験・子育て経験を基に、プログラミングを通じて人々の人生を豊かにして、未来に希望の持てる明るい社会の実現に貢献したいとの想いから、プログラミング完全初心者と挫折経験のある人を支援する「プログラミング挫折撲滅プロジェクト・みんなのプログラミング by Telulu LLC」を設立し、プログラミングサポーター活動と心理カウンセリング活動を開始。これまでに3,000名を超える方のプログラミング挫折撲滅をサポート。

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

みんプロにかける想い

  1. プログラミングは手段の1つに過ぎない(目的は自分のアイデアを形にすること)

  2. プログラミングはみんなのもの!(プログラミングの醍醐味である「楽しさ」を伝えたい)

  3. こんな無駄な苦労をするのはぼくで最後にしたい(ぼくがプログラミング講座をはじめたわけ)

  4. プログラミングを通じて「やわらかい世の中」を作りたい(ぼくがプログラミング講座をやっている本当の理由②)

  5. ぼくが別に言う必要のない挫折の黒歴史をあえてさらけ出している理由(自分の中にある「ブロック」を外すきっかけにしてほしい)

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP