đ Gradle in Android – āϏāĻšāĻ āĻাāώাā§ āĻŦোāĻাāϰ āĻাāĻāĻĄ
đ Gradle in Android – āϏāĻšāĻ āĻাāώাā§ āĻŦোāĻাāϰ āĻাāĻāĻĄ
Gradle āύিā§ে āĻāύāĻĢিāĻāĻļāύ āϏāĻŦাāϰāĻ āĻšā§, āĻিāύ্āϤু āĻেāύāĻļāύ āύিāĻ āύা! āĻāĻŽি āĻāĻ āϏāĻšāĻ āĻাāώাā§ Gradle āĻŦুāĻিā§ে āĻĻেāĻŦো, āϝেāύ āϤুāĻŽি āĻāĻāĻĻāĻŽ āĻ্āϞিā§াāϰ āĻšāϤে āĻĒাāϰো!
đ¯ Gradle āĻী?
Gradle āĻšāϞো Build System – āĻŽাāύে āĻāĻি Android āĻ ্āϝাāĻĒ āĻŦাāύাāύোāϰ (Build) āĻāύ্āϝ āĻŦ্āϝāĻŦāĻšৃāϤ āĻšā§।
đ āϤুāĻŽি āϝāĻāύ Android Studio-āϤে "Run" āĻাāĻĒো, āϤāĻāύ āĻী āĻšā§?
1️⃣ Gradle āϤোāĻŽাāϰ āĻোāĻĄ Compile āĻāϰে
2️⃣ XML, āĻĄ্āϰā§েāĻŦāϞ, JSON āĻĢাāĻāϞāĻুāϞোāϰ āĻĒ্āϰāϏেāϏিং āĻāϰে
3️⃣ APK āĻŦাāύিā§ে āĻĻেā§
4️⃣ App-āĻ āĻĄিāĻĒেāύ্āĻĄেāύ্āϏিāĻুāϞো (Library) āϞোāĻĄ āĻāϰে
5️⃣ Device āĻŦা Emulator-āĻ Install āĻāϰে
đŦ āϏāĻšāĻ āĻাāώাā§:
Gradle āĻšāϞো āϰাāύ্āύাāĻāϰেāϰ āĻļেāĻĢ āĻāϰ āϤোāĻŽাāϰ Android āĻোāĻĄ āĻšāϞো āϰেāϏিāĻĒি।
āĻļেāĻĢ (Gradle) āĻ িāĻāĻŽāϤো āϰাāύ্āύা āĻāϰে āϤোāĻŽাāϰ āĻāύ্āϝ āĻাāĻŦাāϰ (APK) āϰেāĻĄি āĻāϰে āĻĻেā§! đ˛
đ Gradle-āĻāϰ āĻĒ্āϰāϧাāύ āĻāĻĒাāĻĻাāύāĻুāϞো
đ 1. Gradle Scripts (Project-level & Module-level)
đ Project-level build.gradle
āĻāĻি āĻĒুāϰো āĻĒ্āϰāĻেāĻ্āĻেāϰ āĻāύ্āϝ āĻ্āϞোāĻŦাāϞ āϏেāĻিংāϏ āϏংāϰāĻ্āώāĻŖ āĻāϰে।
đ (āϞāĻো āĻĻেāĻাāύো: Global Settings)
buildscript {
repositories { // āĻোāĻĨা āĻĨেāĻে āϞাāĻāĻŦ্āϰেāϰি āύাāĻŽাāĻŦে
google()
mavenCentral()
}
dependencies { // Gradle āĻĒ্āϞাāĻāĻāύ āύিāϰ্āϧাāϰāĻŖ āĻāϰা
classpath 'com.android.tools.build:gradle:8.0.0'
}
}
đĻ Module-level build.gradle (app/build.gradle.kts)
āĻāĻি āĻļুāϧুāĻŽাāϤ্āϰ app module-āĻāϰ āĻāύ্āϝ āĻাāĻ āĻāϰে।
đ (āϞāĻো āĻĻেāĻাāύো: App Settings)
android {
compileSdk 34 // āĻোāύ SDK āĻাāϰ্āϏāύ āĻāĻŽ্āĻĒাāĻāϞ āĻāϰāϤে āĻšāĻŦে
defaultConfig {
applicationId "com.example.myapp"
minSdk 21
targetSdk 34
versionCode 1
versionName "1.0"
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.10.1' // āϞাāĻāĻŦ্āϰেāϰি
}
đ¯ Gradle āĻীāĻাāĻŦে āĻাāĻ āĻāϰে? (Step by Step)
✅ Step 1: āϤোāĻŽাāϰ āĻোāĻĄ compile āĻšāĻŦে
✅ Step 2: Dependencies (Library) āϞোāĻĄ āĻšāĻŦে
✅ Step 3: Resources (XML, images, etc.) āĻĒ্āϰāĻ্āϰিā§াāĻāϰāĻŖ āĻšāĻŦে
✅ Step 4: APK āϤৈāϰি āĻšāĻŦে
✅ Step 5: Device-āĻ Install āĻšāĻŦে
đ (āϞāĻো āĻĻেāĻাāύো: Gradle Workflow)
Source Code → Compile → Dependencies Resolve → APK Generate → Install & Run
đ ️ Gradle-āĻāϰ āĻুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻāύāϏেāĻĒ্āĻ
đ️ 1. Gradle Build Phases
Gradle āĻাāĻ āĻāϰে āϤিāύāĻি āϧাāĻĒে:
đš Initialization Phase → Gradle āĻŦুāĻে āĻĒ্āϰāĻেāĻ্āĻ āĻীāĻাāĻŦে Build āĻšāĻŦে
đš Configuration Phase → Gradle āϏāĻŦ āĻাāϏ্āĻ āĻ āĻĄিāĻĒেāύ্āĻĄেāύ্āϏি āϏেāĻāĻāĻĒ āĻāϰে
đš Execution Phase → Gradle āĻোāĻĄ āĻāĻŽ্āĻĒাāĻāϞ āĻāϰে, APK āĻŦাāύাā§
đ 2. Dependencies Management
Gradle āϞাāĻāĻŦ্āϰেāϰি āϞোāĻĄ āĻāϰāϤে dependencies āĻŦ্āϞāĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে:
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
}
đš implementation → āϏাāϧাāϰāĻŖ āϞাāĻāĻŦ্āϰেāϰি
đš api → āĻ
āύ্āϝ āĻŽāĻĄিāĻāϞ āĻļেā§াāϰ āĻāϰāϤে āĻĒাāϰāĻŦে
đš testImplementation → āĻļুāϧুāĻŽাāϤ্āϰ āĻেāϏ্āĻিংā§েāϰ āĻāύ্āϝ
đ 3. Gradle Caching & Performance Boost
✅ Gradle Daemon → āĻāĻেāϰ āĻāĻŽ্āĻĒাāĻāϞ āĻāϰা āĻĢাāĻāϞ āϰিāĻāĻāĻ āĻāϰে
✅ Parallel Execution → āĻāĻāϏাāĻĨে āĻāĻাāϧিāĻ āĻাāĻ āĻāϰে
✅ Build Variants → āĻāϞাāĻĻা āĻāϞাāĻĻা āĻ
্āϝাāĻĒ āĻাāϰ্āϏāύ āĻŦাāύাāϤে āϏাāĻšাāϝ্āϝ āĻāϰে
đ Gradle Build Variants (Free/Paid Version)
flavorDimensions "version"
productFlavors {
free {
applicationIdSuffix ".free"
versionNameSuffix "-free"
}
paid {
applicationIdSuffix ".paid"
versionNameSuffix "-paid"
}
}
āĻāĻি āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āϤুāĻŽি Free & Paid āĻāϞাāĻĻা āĻāϞাāĻĻা APK āĻŦাāύাāϤে āĻĒাāϰāĻŦে! đ
đ¯ Gradle-āĻ Fast Build āĻāϰাāϰ āĻিāĻĒāϏ!
✅ Gradle Caching Enable āĻāϰো:
gradle --offline
✅ Unnecessary Dependencies āϰিāĻŽুāĻ āĻāϰো
✅ Min SDK 21-āĻāϰ āύিāĻে āϰাāĻāϞে Build āĻাāĻāĻŽ āĻāĻŽāĻŦে
✅ Gradle Wrapper āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো
đŦ āϏংāĻ্āώেāĻĒে āĻŽāύে āϰাāĻাāϰ āĻৌāĻļāϞ
- Gradle āĻšāϞো āϰাāύ্āύাāĻāϰেāϰ āĻļেāĻĢ đ˛, āϝে āϤোāĻŽাāϰ āĻোāĻĄ āϰাāύ্āύা (Build) āĻāϰে।
- Project-level build.gradle → āĻĒুāϰো āĻĒ্āϰāĻেāĻ্āĻেāϰ āĻāύ্āϝ
- Module-level build.gradle → āĻļুāϧুāĻŽাāϤ্āϰ app āĻāϰ āĻāύ্āϝ
- Dependencies āĻাāϞোāĻাāĻŦে āĻŽ্āϝাāύেāĻ āĻāϰāϤে āĻšā§, āĻাāϰāĻŖ āĻāĻুāϞো āĻ ্āϝাāĻĒ āĻĒাāϰāĻĢāϰāĻŽ্āϝাāύ্āϏে āĻĒ্āϰāĻাāĻŦ āĻĢেāϞে।
- Build Variants āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϞে Free/Paid āĻাāϰ্āϏāύ āϏāĻšāĻেāĻ āϤৈāϰি āĻāϰা āϝাā§।
- Gradle Daemon āĻāĻŦং Parallel Execution āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϞে Build āĻাāĻāĻŽ āĻāĻŽāĻŦে!
đ¯ āĻļেāώ āĻāĻĨা
Gradle āĻļāĻ্āϤিāĻļাāϞী, āĻিāύ্āϤু āĻāĻāĻŦাāϰ āĻŦুāĻāϤে āĻĒাāϰāϞে Android āĻ ্āϝাāĻĒ āĻĄেāĻেāϞāĻĒāĻŽেāύ্āĻ āĻ āύেāĻ āϏāĻšāĻ āĻšā§ে āϝাāĻŦে! đ
āĻোāύো āĻĒ্āϰāĻļ্āύ āĻĨাāĻāϞে āĻŦāϞো! đ
Comments
Post a Comment