🛡️ ProGuard: Android āĻ…্āϝাāĻĒেāϰ āϜāύ্āϝ āϏিāĻ•িāωāϰিāϟি āĻ—াāϰ্āĻĄ! 🚀

 

🛡️ ProGuard: Android āĻ…্āϝাāĻĒেāϰ āϜāύ্āϝ āϏিāĻ•িāωāϰিāϟি āĻ—াāϰ্āĻĄ! 🚀

ProGuard āĻšāϞ Android āĻ…্āϝাāĻĒেāϰ āϜāύ্āϝ āĻāĻ•āϟি āĻŽিāύিāĻĢিāĻ•েāĻļāύ āĻ“ āĻ…āĻŦāĻĢুāϏāĻ•েāĻļāύ āϟুāϞ, āϝা āĻ…্āϝাāĻĒেāϰ āϏাāχāϜ āĻ•āĻŽা⧟, āĻ•োāĻĄ āύিāϰাāĻĒāĻĻ āϰাāĻ–ে āĻāĻŦং āĻĒাāϰāĻĢāϰāĻŽ্āϝাāύ্āϏ āωāύ্āύāϤ āĻ•āϰে। āĻāϟি Gradle-āĻāϰ āĻŽাāϧ্āϝāĻŽে āĻ…āϟোāĻŽেāϟিāĻ•āĻ­াāĻŦে āĻ…্āϝাāĻĒ āĻŦিāϞ্āĻĄেāϰ āϏāĻŽā§Ÿ āϰাāύ āĻšā§Ÿ


đŸ”Ĩ ProGuard āĻ•ী āĻ•āϰে?

ProGuard āĻŽূāϞāϤ āϤিāύāϟি āĻ•াāϜ āĻ•āϰে:

1️⃣ Minification (āĻŽিāύিāĻĢিāĻ•েāĻļāύ) 🏗️

  • āĻ•োāĻĄ āĻ›োāϟ āĻ•āϰা
  • āĻ…āĻĒ্āϰ⧟োāϜāύী⧟ āĻ•োāĻĄ, āϞাāχāĻŦ্āϰেāϰি āĻ“ āĻ•্āϞাāϏ āĻĢেāϞে āĻĻেāĻ“ā§Ÿা
  • āĻ…্āϝাāĻĒেāϰ āϏাāχāϜ āĻ•āĻŽাāύো

2️⃣ Obfuscation (āĻ…āĻŦāĻĢুāϏāĻ•েāĻļāύ) đŸ•ĩ️‍♂️

  • āĻ•োāĻĄেāϰ āύাāĻŽ āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰা (āϝাāϤে āĻš্āϝাāĻ•াāϰāϰা āϏāĻšāϜে āĻŦুāĻāϤে āύা āĻĒাāϰে)
  • āϝেāĻŽāύ MainActivitya, UserModelb1

3️⃣ Optimization (āĻ…āĻĒāϟিāĻŽাāχāϜেāĻļāύ) 🚀

  • āĻ…āĻĒ্āϰ⧟োāϜāύী⧟ āĻŽেāĻĨāĻĄ āĻ“ āĻ•্āϞাāϏ āϏāϰাāύো
  • āĻ•োāĻĄāĻ•ে āφāϰāĻ“ āĻ•াāϰ্āϝāĻ•āϰী āĻ•āϰে āϤোāϞা

🏗️ Gradle-āĻ ProGuard āĻ•āύāĻĢিāĻ—াāϰেāĻļāύ

ProGuard āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে build.gradle (Module-level) āĻĢাāχāϞে proguard-android-optimize.txt āĻĢাāχāϞ āϝুāĻ•্āϤ āĻ•āϰāϤে āĻšāĻŦে।

buildTypes {
    release {
        minifyEnabled true  // ✅ āĻŽিāύিāĻĢিāĻ•েāĻļāύ āϚাāϞু
        shrinkResources true  // ✅ āĻ…āĻĒ্āϰ⧟োāϜāύী⧟ āϰিāϏোāϰ্āϏ āĻŦাāĻĻ āĻĻেāĻ“ā§Ÿা
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

📌 minifyEnabled true → āĻŽিāύিāĻĢিāĻ•েāĻļāύ āϚাāϞু āĻ•āϰāĻŦে
📌 shrinkResources true → āĻ…āĻĒ্āϰ⧟োāϜāύী⧟ āχāĻŽেāϜ, āϞেāφāωāϟ āĻĢাāχāϞ āχāϤ্āϝাāĻĻি āϏāϰাāĻŦে
📌 proguardFiles → ProGuard-āĻāϰ āϰুāϞāϏ āĻ“ āĻĄিāĻĢāϞ্āϟ āĻ…āĻĒāϟিāĻŽাāχāϜেāĻļāύ


🛠️ ProGuard Rules (proguard-rules.pro)

ProGuard āĻ•াāϜ āĻ•āϰাāϰ āϏāĻŽā§Ÿ āĻ•িāĻ›ু āĻ•্āϞাāϏ āĻŦা āĻŽেāĻĨāĻĄ āĻŽুāĻ›ে āĻĢেāϞāϤে āĻĒাāϰে, āϝা āĻ…্āϝাāĻĒে āϏāĻŽāϏ্āϝা āϤৈāϰি āĻ•āϰāϤে āĻĒাāϰে। āĻāϜāύ্āϝ āĻ•িāĻ›ু ProGuard āϰুāϞāϏ āĻĻিāϤে āĻšā§Ÿ:

1️⃣ āĻ•োāύো āĻ•্āϞাāϏ āĻŦা āĻŽেāĻĨāĻĄ āĻŦাāĻĻ āύা āĻĻিāϤে āĻŦāϞাāϰ āύি⧟āĻŽ 🛡️

-keep class com.example.app.MyClass { *; }

📌 MyClass āĻ•ে ProGuard āĻŽুāĻ›āϤে āĻĒাāϰāĻŦে āύা

2️⃣ Serializable āĻŦা Parcelable āĻ•্āϞাāϏ āϏুāϰāĻ•্āώিāϤ āϰাāĻ–া đŸ“Ļ

-keepclassmembers class * implements android.os.Parcelable { 
    public static final android.os.Parcelable$Creator *;
}

3️⃣ Retrofit / Gson-āĻāϰ āϜāύ্āϝ āĻŦিāĻļেāώ āϰুāϞ 🔄

-keep class com.google.gson.** { *; }
-keep class retrofit2.** { *; }

📌 ProGuard āϞāĻ— āĻĢাāχāϞ (Mapping File)

ProGuard āĻ•োāĻĄেāϰ āύাāĻŽ āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰে āĻĻে⧟, āϤাāχ āϝāĻĻি āĻ•āĻ–āύো āĻ•্āϰ্āϝাāĻļ āĻšā§Ÿ, āϤাāĻšāϞে āĻĄিāĻŦাāĻ— āĻ•āϰāϤে mapping.txt āĻĢাāχāϞ āĻĻāϰāĻ•াāϰ āĻšā§Ÿ
👉 āĻāϟি app/build/outputs/mapping/release/mapping.txt āĻĢোāϞ্āĻĄাāϰে āĻĨাāĻ•ে।


🧐 ProGuard āĻŦāύাāĻŽ R8

āφāĻ—ে ProGuard āĻ›িāϞ āĻĄিāĻĢāϞ্āϟ āϟুāϞ, āĻ•িāύ্āϤু āĻāĻ–āύ Android R8 āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে, āϝা ProGuard-āĻāϰ āĻŽāϤোāχ āĻ•াāϜ āĻ•āϰে āĻ•িāύ্āϤু āφāϰāĻ“ āωāύ্āύāϤ
👉 R8 āĻšāϞ ProGuard-āĻāϰ āφāĻĒāĻ—্āϰেāĻĄেāĻĄ āϏংāϏ্āĻ•āϰāĻŖ!

đŸ”Ĩ ProGuard āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āϚাāχāϞে:
ProGuard āĻāĻ–āύো proguard-rules.pro āĻĢাāχāϞে āĻ•াāϜ āĻ•āϰে, āĻ•িāύ্āϤু R8 āĻāϟি āφāϰāĻ“ āĻĻ্āϰুāϤ āĻ“ āĻ­াāϞোāĻ­াāĻŦে āĻ…āĻĒāϟিāĻŽাāχāϜ āĻ•āϰে।


đŸŽ¯ āωāĻĒāϏংāĻšাāϰ

✅ ProGuard āφāĻĒāύাāϰ āĻ…্āϝাāĻĒেāϰ āϏাāχāϜ āĻ•āĻŽা⧟, āύিāϰাāĻĒāϤ্āϤা āĻŦা⧜া⧟ āĻāĻŦং āĻ•োāĻĄ āĻ…āĻĒāϟিāĻŽাāχāϜ āĻ•āϰে
build.gradle-āĻ minifyEnabled true āĻ“ proguard-rules.pro āϏেāϟ āĻ•āϰāϤে āĻšāĻŦে।
R8 āĻāĻ–āύ āĻĄিāĻĢāϞ্āϟ āϟুāϞ, āϤāĻŦে ProGuard āϰুāϞāϏ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰাāχ āϝāĻĨেāώ্āϟ।
mapping.txt āĻĢাāχāϞ āϏংāϰāĻ•্āώāĻŖ āĻ•āϰা āωāϚিāϤ, āϝাāϤে āĻĄিāĻŦাāĻ— āĻ•āϰা āϏāĻšāϜ āĻšā§Ÿ।


🚀 ProGuard āϏেāϟāφāĻĒ āĻ•āϰāϞে āφāĻĒāύাāϰ āĻ…্āϝাāĻĒ āĻšāĻŦে āĻ›োāϟ, āĻĢাāϏ্āϟ āĻ“ āϏিāĻ•িāωāϰ! 🛡️💨

āφāϰāĻ“ āĻ•িāĻ›ু āϜাāύāϤে āϚাāχāϞে āĻŦāϞুāύ! 😊

Comments

Popular posts from this blog

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

🧠 Regex āĻ•ী?

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