ProGuard হচ্ছে এমন একটা টুল যা আপনার কোডকে সংক্ষিপ্ত করে, Obfuscate ( অনেকটা এনকোড) করে এবং অপটিমাইজ করে। আরো সহজ করে বললে , এটা আপনার কোডের নিরাপত্তা প্রদান(রিভার্স- ইঞ্জিনিয়ারিং হতে) সহ আপনার প্রোজেক্টে অব্যাবহৃত ক্লাস, ফিল্ড, মেথড এবং এট্ট্রিবিউট গুলোকে আলাদা করে রিমুভ করে দেয়, ফলে আপনার প্রোজেক্টের সাইজ অনেক অনেক কমে যায়।
এন্ড্রয়েডের নতুন নিয়ম অনুযায়ী, একটা এপে ৬৪হাজারের বেশী মেথড( 64k method limit ) ব্যাবহার করলে বিশেষ ব্যাবস্থা(মাল্টিডেক্স) নিতে হয়। তাই ProGuard ব্যাবহারের ফলে যেহেতু মেথডের সংখ্যা কমতেছে, তাই এই অতিরিক্ত মেথড ব্যবহারের ক্ষেত্রে বিশেষ ব্যাবস্থা নেয়ার দরকার হয় না।
বিভিন্ন ধরনের বিল্ডের জন্যে আমরা ডিপেন্ডেন্সি ফাইলে বিভিন্ন ProGuard কে ডিফাইন করতে পারি। আমরা রিলিজ মুডের একটা উদাহরন দেখতে পারিঃ
এন্ড্রয়েডের নতুন নিয়ম অনুযায়ী, একটা এপে ৬৪হাজারের বেশী মেথড( 64k method limit ) ব্যাবহার করলে বিশেষ ব্যাবস্থা(মাল্টিডেক্স) নিতে হয়। তাই ProGuard ব্যাবহারের ফলে যেহেতু মেথডের সংখ্যা কমতেছে, তাই এই অতিরিক্ত মেথড ব্যবহারের ক্ষেত্রে বিশেষ ব্যাবস্থা নেয়ার দরকার হয় না।
বিভিন্ন ধরনের বিল্ডের জন্যে আমরা ডিপেন্ডেন্সি ফাইলে বিভিন্ন ProGuard কে ডিফাইন করতে পারি। আমরা রিলিজ মুডের একটা উদাহরন দেখতে পারিঃ
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile(‘proguard-android.txt'),
'proguard-rules.pro'
}
}
...
}
Comments
Post a Comment