đŸŽ¯ Gradle āĻāĻŦং AGP (Android Gradle Plugin) āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻাāϰ āĻ—াāχāĻĄ 🚀

 

đŸŽ¯ Gradle āĻāĻŦং AGP (Android Gradle Plugin) āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻাāϰ āĻ—াāχāĻĄ 🚀

Gradle āĻāĻŦং AGP (Android Gradle Plugin) āϏāĻŽ্āĻĒāϰ্āĻ•ে āĻĒুāϰোāĻĒুāϰি āĻŦোāĻাāϰ āϜāύ্āϝ āφāĻŽāϰা āĻāĻ•ে āϧাāĻĒে āϧাāĻĒে āĻŦ্āϝাāĻ–্āϝা āĻ•āϰāĻŦ। āĻŽāύে āĻ•āϰুāύ Gradle āĻšāϞো āϰাāύ্āύাāϰ āĻāĻ•āϟি āĻĒ্āϰāϏেāϏ, āϝেāĻ–াāύে AGP āĻšāϞো āϰাāύ্āύাāϰ āϜāύ্āϝ āύিāϰ্āĻĻিāώ্āϟ āĻāĻ•āϟি āϰেāϏিāĻĒি (Recipe) āĻŦা āĻĒ্āϞাāĻ—āχāύ


đŸ”Ĩ 1. Gradle āĻ•ী?

Gradle āĻšāϞো āĻāĻ•āϟি Build Automation Tool, āϝা Java, Android, Kotlin, Groovy āϏāĻš āĻŦিāĻ­িāύ্āύ āĻ­াāώাāϰ āĻĒ্āϰোāϜেāĻ•্āϟ āϤৈāϰি āĻ“ āĻŽ্āϝাāύেāϜ āĻ•āϰāϤে āĻŦ্āϝāĻŦāĻšৃāϤ āĻšāϝ়।

🔹 āϏāĻšāϜ āĻ­াāώা⧟:
āφāĻĒāύি āϝāĻ–āύ Android Studio āϤে "Run" āĻŦা "Build" āϚাāĻĒ āĻĻেāύ, āϤāĻ–āύ Gradle āφāĻĒāύাāϰ āĻ•োāĻĄ āĻ•āĻŽ্āĻĒাāχāϞ āĻ•āϰে, āĻĒ্āϰ⧟োāϜāύী⧟ āϞাāχāĻŦ্āϰেāϰি āϝুāĻ•্āϤ āĻ•āϰে, āĻāĻŦং āĻāĻ•āϟি APK āĻŦা AAB āϤৈāϰি āĻ•āϰে।

Gradle āĻ•েāύ āĻĻāϰāĻ•াāϰ?

  • āĻ•োāĻĄ āĻ•āĻŽ্āĻĒাāχāϞ āĻ•āϰা (Java/Kotlin → DEX File)
  • Dependency Management (āϞাāχāĻŦ্āϰেāϰি āϏংāϝুāĻ•্āϤ āĻ•āϰা)
  • Build Variants (Debug vs Release Build)
  • Continuous Integration (CI/CD) āϏাāĻĒোāϰ্āϟ
  • Custom Tasks & Plugins (Extra automation)

đŸ“Ļ 2. Gradle-āĻāϰ āĻ•াāϜ āĻ•āϰাāϰ āĻĒāĻĻ্āϧāϤি

Gradle Task-Based Build System, āϝেāĻ–াāύে āĻĒ্āϰāϤিāϟি āĻ•াāϜ (Task) āύিāϰ্āĻĻিāώ্āϟ āĻāĻ•āϟি āϏ্āϟেāĻĒ āĻĒাāϰāĻĢāϰ্āĻŽ āĻ•āϰে।

🔹 Gradle Build Process:
1️⃣ Initialization Phase → āĻ•োāύ āĻ•োāύ āĻŽāĻĄিāωāϞ āĻŦিāϞ্āĻĄ āĻšāĻŦে āϏেāϟি āύিāϰ্āϧাāϰāĻŖ
2️⃣ Configuration Phase → Build Script (build.gradle.kts) execute āĻšā§Ÿ
3️⃣ Execution Phase → Task āĻ—ুāϞো āĻāĻ•্āϏিāĻ•িāωāϟ āĻšā§Ÿ (e.g., compile, test, assemble)

Example:

./gradlew build  # āĻāϟি āĻĒুāϰো āĻŦিāϞ্āĻĄ āĻĒ্āϰāϏেāϏ āϰাāύ āĻ•āϰāĻŦে
./gradlew clean  # āφāĻ—েāϰ āĻŦিāϞ্āĻĄ āĻĢাāχāϞ āĻŽুāĻ›ে āύāϤুāύ āĻ•āϰে āĻŦিāϞ্āĻĄ āĻ•āϰāĻŦে

⚙️ 3. Gradle Build Script (build.gradle.kts āĻŦা build.gradle)

Gradle-āĻāϰ āĻ•াāϜ āĻŦুāĻāϤে āĻšāϞে, āĻāϰ Build Script āĻŦোāĻা āϜāϰুāϰি। Android āĻ…্āϝাāĻĒে āϏাāϧাāϰāĻŖāϤ āĻĻুāχ āϧāϰāĻŖেāϰ build.gradle āĻĨাāĻ•ে:

Project-Level build.gradle.kts
Module-Level build.gradle.kts

(1) Project-Level build.gradle.kts

🔹 Gradle Version, Plugin Management & Global Settings āĻĨাāĻ•ে āĻāĻ–াāύে।

plugins {
    id("com.android.application") version "8.1.1" apply false
    id("org.jetbrains.kotlin.android") version "1.9.0" apply false
}

āĻāϟি āĻŦāϞে āĻĻে⧟ AGP āĻāĻŦং Kotlin Plugin āĻ•োāύ āĻ­াāϰ্āϏāύেāϰ āĻšāĻŦে।


(2) Module-Level build.gradle.kts

🔹 āĻāĻ–াāύে Dependency, Compile SDK, Min SDK, Build Variants āĻĨাāĻ•ে।

plugins {
    id("com.android.application")
    id("kotlin-android")
}

android {
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.myapp"
        minSdk = 21
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"
    }
}

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")
    implementation("com.google.android.material:material:1.8.0")
}

āĻāϟি āĻŦāϞে āĻĻে⧟ āĻ…্āϝাāĻĒ āĻ•ীāĻ­াāĻŦে āĻŦিāϞ্āĻĄ āĻšāĻŦে, āĻ•োāύ āϞাāχāĻŦ্āϰেāϰি āϞাāĻ—āĻŦে, āĻ•োāύ āĻ­াāϰ্āϏāύ āϏাāĻĒোāϰ্āϟ āĻ•āϰāĻŦে।


🔌 4. AGP (Android Gradle Plugin) āĻ•ী?

AGP (Android Gradle Plugin) Android āĻ…্āϝাāĻĒ āĻŦিāϞ্āĻĄ āĻ•āϰাāϰ āϜāύ্āϝ āĻŦিāĻļেāώāĻ­াāĻŦে āϤৈāϰি āĻāĻ•āϟি Gradle Plugin। āĻāϟি Gradle-āĻāϰ āϜāύ্āϝ Android-specific āĻŦিāϞ্āĻĄ āĻĒ্āϰāϏেāϏ āĻĒāϰিāϚাāϞāύা āĻ•āϰে।

AGP āĻ•ী āĻ•āϰে?

  • Java/Kotlin āĻ•োāĻĄāĻ•ে DEX āĻĢাāχāϞে āϰূāĻĒাāύ্āϤāϰ āĻ•āϰে
  • Manifest, XML & Resources āĻ•ে āĻĒ্āϰোāϏেāϏ āĻ•āϰে
  • APK / AAB āĻĢাāχāϞ āϜেāύাāϰেāϟ āĻ•āϰে
  • Proguard / R8 (Code Shrinking) āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে
  • Build Variants āĻāĻŦং Flavors āĻš্āϝাāύ্āĻĄেāϞ āĻ•āϰে

🔹 AGP Version Example:

classpath("com.android.tools.build:gradle:8.1.1")

AGP Version 8.1.1 āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϞে, Gradle āύāϤুāύ Android āĻŦিāϞ্āĻĄ āĻĢিāϚাāϰ āϏাāĻĒোāϰ্āϟ āĻ•āϰāĻŦে।

āĻ•েāύ āφāĻĒāĻĄেāϟেāĻĄ AGP āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦেāύ?

  • āύāϤুāύ Android āĻ­াāϰ্āϏāύ āϏাāĻĒোāϰ্āϟ āĻ•āϰাāϰ āϜāύ্āϝ
  • Performance Optimization
  • Bug Fixes āĻāĻŦং Security Improvement

📌 5. Gradle vs AGP – āĻĒাāϰ্āĻĨāĻ•্āϝ āĻ•ী?

Feature Gradle AGP (Android Gradle Plugin)
Type Build Automation Tool Android-specific Plugin for Gradle
Use Case Java, Kotlin, Android, Backend āϏāĻŦāĻ•িāĻ›ুāϤে āĻļুāϧু Android Build Process āĻāϰ āϜāύ্āϝ
Customization Custom Tasks, Plugins, Scripts Android Build Variants, APK Optimization
Dependency Management Maven, JCenter, Google Repositories Android SDK, Jetpack, Google Play Services

đŸŽ¯ 6. Gradle āĻļেāĻ–াāϰ āϜāύ্āϝ āĻĻāϰāĻ•াāϰি āĻ•āĻŽাāύ্āĻĄāϏ

🔹 Gradle Build:

./gradlew build

🔹 Cache Clean:

./gradlew clean

🔹 Dependency Tree āĻĻেāĻ–āϤে:

./gradlew dependencies

🔹 AGP Version āϚেāĻ• āĻ•āϰāϤে:

./gradlew --version

🚀 7. Gradle & AGP āĻļেāĻ–াāϰ āϜāύ্āϝ āĻ­াāϞো āϰিāϏোāϰ্āϏ

📚 Official Documentation:

📖 āĻŦāχ:

  • "Gradle in Action" - Benjamin Muschko
  • "Mastering Gradle" - Mateus Bacchi
  • "Gradle Recipes for Android" - Ken Kousen

💡 āϏংāĻ•্āώেāĻĒে āϰিāĻ•্āϝাāĻĒ (Recap) – āϏ্āĻŽাāϰ্āϟ āωāĻĒাāϝ়ে āĻŽāύে āϰাāĻ–ুāύ!

Gradle āĻšāϞো āϰাāύ্āύাāϰ āĻāĻ•āϟি āĻĒ্āϰāϏেāϏ – āϝা āĻŦিāϞ্āĻĄ, Dependency Management āĻ“ āĻĒ্āϞাāĻ—āχāύ āĻĒāϰিāϚাāϞāύা āĻ•āϰে।
AGP (Android Gradle Plugin) āĻšāϞো Android āĻ…্āϝাāĻĒ āĻŦিāϞ্āĻĄ āĻ•āϰাāϰ āϰেāϏিāĻĒি – āϝা APK āĻŦাāύা⧟, SDK āĻŦ্āϝāĻŦāϏ্āĻĨাāĻĒāύা āĻ•āϰে।
Project-Level build.gradle.kts → Plugin āĻ“ Version āĻŽ্āϝাāύেāϜ āĻ•āϰে।
Module-Level build.gradle.kts → Dependencies, SDK, Build Configurations āϏংāϰāĻ•্āώāĻŖ āĻ•āϰে।
Gradle āĻļেāĻ–াāϰ āϜāύ্āϝ āĻ•āĻŽাāύ্āĻĄ āϞাāχāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻšāĻŦে (./gradlew build, clean, dependencies etc.)


🚀 āφāĻĒāύাāϰ āϝāĻĻি āφāϰāĻ“ āĻĄিāϟেāχāϞ āĻŦ্āϝাāĻ–্āϝাāϰ āĻĒ্āϰ⧟োāϜāύ āĻšā§Ÿ, āĻŦāϞুāύ! 😊

Comments

Popular posts from this blog

AI (Artificial Intelligence) āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻাāϰ āϜāύ্āϝ āĻāĻ•āĻĻāĻŽ āĻŽāϏ্āϤিāώ্āĻ•-āĻŦাāύ্āϧāĻŦ āĻŦ্āϝাāĻ–্āϝা 🧠🤖

🧠 Regex āĻ•ী?

Kotlin-āĻ āĻ­েāϰিāϝ়েāĻŦāϞ āϘোāώāĻŖা āĻ•āϰাāϰ āĻĻুāχ āωāĻĒাāϝ়