آموزش اندروید

ProGuard در برنامه نویسی اندروید

proguard در برنامه نویسی اندروید :

ProGuard
یک ابزار رایگان و اوپن سورس است، که برای فشرده (Shrink)، بهینه (Optimize) و ناخوانا (Obfuscate) کردن کلاس‌های جاوا مورد استفاده قرار می‌گیرد. اما همونطور که به عنوان یک توسعه دهنده اندروید، اطلاع دارید، به طور معمول تنظیمات مربوط به Rule‌های ProGuard، کار چندان ساده‌ای نیست و احتمالا تا به حال برای شما نیر اتفاق افتاده که بعد از Build نسخه ریلیز به مشکلاتی در رابطه با تغییرات اعمال شده توسط آن برخورده باشید.

در ادامه قصد دارم کتابخانه‌ای را به شما معرفی کنم که امکان استفاده از ProGuard را در برنامه نویسی اندروید برای شما بسیار ساده‌تر خواهد کرد، این کتابخوانه با استفاده از دو انوتیشن @Keep و @KeepName این امکان را برای شما فراهم می‌کند که به سادگی از اعمال تغییرات توسط ProGuard مصون نگه دارید.

کتابخانه‌ای که در بالا به آن اشاره شد Squad Leader نام دارد و در مخزن Maven Central در دسترس هست و به سادگی با اضافه کردن آن مطابق کد زیر به پیش نیازهای پروژه خود می‌توانید آن را در دسترس داشته باشید.

بعد از اضافه کردن کد بالا در تنظیمات Gradle و دوباره سازی و Rebuild پروژه به سادگی و با استفاده از Annotation های فوق الذکر به شکلی که در ادامه مشاهده می‌کنید، قادر به جلوگیری از اعمال تغییرات توسط ProGuard خواهید بود.

همانطور که در کد بالا مشاهده می‌کنید تفاوت @Keep و @KeepName در این است که در هنگام استفاده از @Keep حتی اگر کلاس، پروپرتی یا متود مورد نظر در جایی استفاده نشده باشد، توسط ProGuard حذف نخواهد شد، در حالی که با ستفاده از @KeepName شما این اجازه را به ProGuard اندروید می‌دهید تا در صورت عدم استفاده، کلاس، پروپرتی یا متود مربوطه را خذف یا ناخوانا کند. همانطور که در مثال زیر می‌بینید شما قادر به استفاده از این انوتیشن‌ها بر روی کل یک کلاس نیز خواهید بود.

 

مطالب مرتبط

دیدگاه خود را منتشر کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *