build.gradle.ktsとAndroidManifest.xml

  • app/build.gradle.kts
  • app/src/main/AndroidManifest.xml

この2つは本当にAndroid開発の心臓部です!。
これについて解説していいきます。

目次

📱 1. app/build.gradle.kts


役割:アプリのビルド設定
「レシピ」のようなファイルです

主な内容
① アプリの基本情報

android {
    namespace = "com. xxx.sample_app"
    compileSdk = 34  // どのAndroidバージョンでコンパイルするか
    
    defaultConfig {
        applicationId = "com.xxx.sample_app"  // アプリID(重要!)
        minSdk = 21  // 最低Android 5.0
        targetSdk = 34  // Android 14向けに最適化
        versionCode = 6  // 内部バージョン番号
        versionName = "1.0.5"  // ユーザーに見えるバージョン
    }
}


② 依存ライブラリ

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.0")
    implementation("androidx.core:core-ktx:1.12.0")
    // 使用するライブラリを指定
}


③ ビルド設定

buildTypes {
    release {
        isMinifyEnabled = false  // コード圧縮
        proguardFiles(...)  // 難読化設定
    }
}

特徴・重要性

✅ 変更するとビルドが必要

versionCodeやversionNameを変更したら再ビルド

✅ Google Playのルール

versionCodeは毎回増やす必要がある
applicationIdは変更できない(アプリの本籍地)

✅ パフォーマンスに影響

minSdk: 低すぎると古いデバイス対応で重くなる
targetSdk: 新しい機能が使える

📄 2. app/src/main/AndroidManifest.xml

役割:アプリの「戸籍」
Androidシステムへの自己紹介書類

主な内容
① アプリの基本情報

<manifest 
    package="com.webtecnica.concert_manager"
    xmlns:android="http://schemas.android.com/apk/res/android">

② パーミッション(権限)

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

これがないと機能が使えません!

INTERNET: ネット通信
CAMERA: カメラ使用
READ_EXTERNAL_STORAGE: 画像読み込み
「このアプリは”イベント管理”という名前で、ネットとカメラを使います!!」

③ アプリの構成要素

<application
    android:name="${applicationName}"
    android:label="イベント管理"
    android:icon="@mipmap/ic_launcher">
    
    <activity
        android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
```

**重要な要素:**
- `android:label`: アプリ名(ホーム画面に表示)
- `android:icon`: アプリアイコン
- `MainActivity`: アプリの入口
- `android:exported="true"`: 他のアプリから起動可能

特徴・重要性

✅ Androidシステムが最初に読むファイル

  • これがないとアプリが起動しない

✅ セキュリティの要

  • パーミッションの宣言
  • どの画面を外部公開するか

✅ ユーザー体験に直結

  • アプリ名
  • アイコン
  • 起動画面

🔄 2つのファイルの関係

build.gradle.kts

「このアプリを作るための設計図」
- バージョン
- ビルド方法
- ライブラリ

AndroidManifest.xml

“`
「このアプリの説明書」

  • 何ができるか
  • 何が必要か
  • どう動くか

⚠️ よくあるエラー

build.gradle.kts

❌ versionCodeを上げ忘れ
→ Google Playにアップロードできない

❌ applicationIdを変更
→ 別アプリとして認識される

AndroidManifest.xml

“`
❌ INTERNETパーミッションがない
→ ネット通信できない

❌ android:exported指定なし
→ Android 12以降で起動しない

📚 まとめ

ファイル役割例え

  • build.gradle.kts・・ビルド設定レシピ・設計図
  • AndroidManifest.xml・・アプリ情報戸籍・説明書
目次