đ How Gradle Works – Step by Step (Brain-friendly Explanation)
đ How Gradle Works – Step by Step (Brain-friendly Explanation)
Gradle āĻšāϞো Android āĻ ্āϝাāĻĒ Build System, āϝা āϤোāĻŽাāϰ āĻোāĻĄāĻে APK āĻŦাāύাāύোāϰ āĻāύ্āϝ āĻŦিāĻিāύ্āύ āϧাāĻĒে āĻাāĻ āĻāϰে। āĻāĻŽāϰা Gradle-āĻāϰ āĻাāĻেāϰ āĻĒুāϰো āĻĒ্āϰāϏেāϏ āϧাāĻĒে āϧাāĻĒে āĻŦুāĻāĻŦো।
đĨ Step 1: Initialization Phase (āĻĒ্āϰāϏ্āϤুāϤি āύেāĻā§া)
āĻĒ্āϰāĻĨāĻŽে Gradle āĻŦোāĻে āĻোāύ āĻোāύ āĻŽāĻĄিāĻāϞ (app, library āĻāϤ্āϝাāĻĻি) āύিā§ে āĻাāĻ āĻāϰāϤে āĻšāĻŦে।
✅ Gradle Build Scripts āϞোāĻĄ āĻšā§
✅ Project-āĻāϰ settings.gradle.kts & build.gradle.kts āĻĢাāĻāϞ āĻĒāĻĄ়ে
✅ Gradle āĻŦোāĻে āĻোāĻĨা āĻĨেāĻে Dependencies āϞোāĻĄ āĻāϰāĻŦে (Google, Maven, etc.)
đ Example:
pluginManagement {
repositories {
google()
mavenCentral()
}
}
đ āĻāĻ āϧাāĻĒে Gradle āĻļুāϧু āĻĒāϰিāĻāϞ্āĻĒāύা āĻāϰে, āĻিāĻুāĻ Build āĻāϰে āύা!
⚡ Step 2: Configuration Phase (āϏāĻŦāĻিāĻু āϏেāĻāĻāĻĒ āĻāϰা)
āĻāĻāύ Gradle āϏāĻŦ Task & Dependency āϏেāĻāĻāĻĒ āĻāϰে।
✅ Dependencies Resolve āĻšā§ (āϝেāĻŽāύ – Retrofit, Glide, Firebase SDK)
✅ Build Variants āĻেāĻ āĻšā§ (āϝāĻĻি Free / Paid āĻাāϰ্āϏāύ āĻĨাāĻে)
✅ Gradle Plugin & Custom Tasks āϏেāĻ āĻšā§
đ Example:
dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
}
āĻāĻি āĻŦāϞāĻে, Gradle Retrofit āϞাāĻāĻŦ্āϰেāϰি āύাāĻŽাāĻŦে MavenCentral āĻĨেāĻে।
đ āĻāĻ āϧাāĻĒে Gradle āĻ ্āϝাāĻĒ Compile āĻāϰা āĻļুāϰু āĻāϰে āύা! āĻļুāϧু āĻĒ্āϞ্āϝাāύিং āĻāϰে।
đ Step 3: Execution Phase (Actual Build āĻāϰা)
āĻāĻāύ Gradle āϤিāύāĻি āĻুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻাāĻ āĻāϰāĻŦে:
✅ 1️⃣ Source Code Compile āĻāϰা (Java/Kotlin → Bytecode)
Gradle āĻĒ্āϰāĻĨāĻŽে Java/Kotlin āĻোāĻĄ āĻāĻŽ্āĻĒাāĻāϞ āĻāϰে Bytecode-āĻ āϰূāĻĒাāύ্āϤāϰ āĻāϰে।
đ Example:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
➡ Gradle āĻāĻিāĻে DEX (Dalvik Executable) āĻĢাāĻāϞ āĻŦাāύিā§ে āĻĢেāϞে।
✅ 2️⃣ Resources Compile āĻāϰা (XML, Images, Fonts, etc.)
Gradle āϤোāĻŽাāϰ XML Layout, Drawables, Strings, Styles āĻĒ্āϰāĻ্āϰিā§াāĻāϰāĻŖ āĻāϰে।
đ Example:
<TextView
android:text="Hello World!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
➡ āĻāĻি R.java āĻĢাāĻāϞে āĻĒāϰিāĻŖāϤ āĻšā§।
✅ 3️⃣ APK Generate āĻ Sign āĻāϰা
Gradle āϏāĻŦāĻিāĻু āĻāĻāϏাāĻĨে āĻāϰে APK āĻŦাāύাā§ āĻāĻŦং Signature āϝোāĻ āĻāϰে।
đ Example:
android {
signingConfigs {
release {
storeFile file("keystore.jks")
storePassword "mypassword"
}
}
}
➡ APK āϤৈāϰি āĻšā§:
app-debug.apk
app-release.apk
đ āĻāĻ āϧাāĻĒে āϏāĻŦāĻিāĻু āĻŽিāϞিā§ে APK āĻŦাāύাāύো āĻļেāώ āĻšā§!
đ¯ Final Step: Install & Run on Emulator/Device
āĻļেāώ āϧাāĻĒে, Gradle āϤোāĻŽাāϰ APK Emulator āĻŦা Physical Device-āĻ Install āĻāϰে।
đ Example:
adb install app-debug.apk
➡ App āĻāĻāύ āϰাāύ āĻāϰāĻŦে! đ
đŦ Summary (Gradle Workflow in Short)
đš Step 1: Initialization Phase → Gradle āĻŦোāĻে āĻী Build āĻšāĻŦে
đš Step 2: Configuration Phase → Dependencies & Tasks āϏেāĻāĻāĻĒ āĻšā§
đš Step 3: Execution Phase →
✅ Java/Kotlin → Bytecode (DEX)
✅ XML & Resources → Process
✅ APK Generate & Sign
đš Step 4: Install & Run on Device
đĄ How to Speed Up Gradle Build? (Boost Performance ⚡)
✅ Enable Gradle Daemon:
gradle --daemon
✅ Use Gradle Caching:
gradle --offline
✅ Parallel Execution āĻ āύ āĻāϰো:
org.gradle.parallel=true
✅ Unnecessary Dependencies āϰিāĻŽুāĻ āĻāϰো
đ¯ Final Thought
Gradle āĻাāĻ āĻāϰে Step-by-Step āĻĒ্āϞ্āϝাāύিং, āĻāĻŽ্āĻĒাāĻāϞিং, āĻ APK āĻŦাāύাāύোāϰ āĻŽাāϧ্āϝāĻŽে।
āĻāĻāĻŦাāϰ āĻŦুāĻে āĻেāϞে, āϤুāĻŽি āϤোāĻŽাāϰ Build System Optimize āĻāϰে āĻĢাāϏ্āĻাāϰ Build āĻāϰāϤে āĻĒাāϰāĻŦে! đ
āĻোāύো āĻĒ্āϰāĻļ্āύ āĻĨাāĻāϞে āĻŦāϞো! đ
Comments
Post a Comment