🚀 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

Popular posts from this blog

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

🧠 Regex āĻ•ী?

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