build.gradle.kts のセクションについて

app/build.gradle.kts – Androidアプリの設定書!
このファイルは、FlutterアプリをAndroid用にビルドするための設定が書いてあります。
比喩で言うと: アプリという料理を作るときの「レシピと材料リスト」です!

毎回Google Play Consoleにアップする時お世話になっていますが、
よくわからずに使っているので、調べてみました。

主要なセクションを1つずつ見ていきましょう!

1️⃣ plugins – 使う道具を宣言

plugins {
    id "com.android.application"
    id "kotlin-android"
    id "dev.flutter.flutter-gradle-plugin"
}

意味: 「このアプリをビルドするのに、これらのツールを使いますよ」という宣言
触る? → ほぼ触らない! Flutter が自動で設定してくれる

2️⃣ android – Androidアプリ全体の設定

意味: アプリの基本情報を書く場所

android {
    namespace = "com.example.myapp"  // アプリの識別名
    compileSdk = 34  // どのAndroidバージョンで開発するか
    
    // ...その他の設定
}

3️⃣ defaultConfig – アプリの詳細情報(超重要!)

defaultConfig {
    applicationId = "com.example.myapp"  // ← 超重要!
    minSdk = 21          // 対応する最低Androidバージョン
    targetSdk = 34       // 最新のAndroidバージョン
    versionCode = 1      // アプリのバージョン番号(数字)
    versionName = "1.0"  // アプリのバージョン名(人間用)
}

各項目の意味:

項目意味注意点
applicationIdアプリの住所(世界で1つだけ)絶対に変えちゃダメ! 変えると別アプリになる
minSdk対応する最低Androidバージョン低いほど古い端末でも動く(21 = Android 5.0)
targetSdk最新機能を使うバージョンGoogle Play は最新版を要求する
versionCodeアプリの更新回数(内部管理用)更新のたびに必ず増やす! (1→2→3…)
versionNameユーザーに見せるバージョン“1.0” → “1.1” → “2.0” など

📌 超重要: applicationId について

  • Google Play で識別される
  • 一度公開したら絶対に変更できない
  • 変えると、Google Play が「別の新しいアプリ」と認識する

形式: com.会社名.アプリ名 (逆ドメイン形式)

📌 重要: versionCode と versionName

// 最初のリリース
versionCode = 1
versionName = "1.0.0"

// アップデート1回目
versionCode = 2
versionName = "1.0.1"

// 大きな更新
versionCode = 3
versionName = "2.0.0"

アプリを更新するとき、必ず変更します!

ルール:

  • versionCode は必ず増やす (減らすとアップロードできない!)
  • versionName は自由だけど、分かりやすくする

4️⃣ buildTypes – リリース版とデバッグ版の設定

buildTypes {
    release {
        signingConfig = signingConfigs.getByName("debug")
        // リリース用の最適化設定
    }
}

意味:

debug: 開発中に使う(エラーが見やすい)
release: Google Play に出す版(最適化される)

触る? → あまり触らない。ただし、リリース時に署名設定を追加する必要がある

5️⃣ dependencies – 必要なライブラリ

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    // その他のAndroid用ライブラリ
}

意味: Android側で必要なライブラリ(Kotlin標準ライブラリなど)
触る? → ほぼ触らない! Flutter が管理してくれる

よく触る箇所まとめ:

✅ 必ず触る:

applicationId – 最初に1回だけ(アプリ作成時)
versionCode – アップデートのたびに +1
versionName – アップデートのたびに変更

⚠️ たまに触る:

minSdk – 古いAndroidをサポートしたいとき下げる
targetSdk – Google Play の要求で上げる

🚫 ほぼ触らない:

plugins – Flutterが管理
dependencies – Flutterが管理
buildTypes – 初期設定のまま

注意点

applicationId一度決めたら絶対に変えない
versionCode更新のたびに必ず増やす
minSdk下げすぎると古い書き方が必要になる(21推奨)
targetSdkGoogle Play の最新要求に合わせる

build.gradle.kts はAndroidアプリの設定書。
特に applicationId, versionCode, versionName が重要!
アップデート時は必ず versionCode を増やすこと!