đ¯ 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
Post a Comment