
در این پست قرار هست درباره ی R8 که یکی از Obfuscator های جدید در اندروید استدیو هست و استفاده از R8 به جای Proguard در اندروید استدیو صحبت کنیم با ما در ادامه این مقاله همراه باشید.
اگر که توسعه دهنده ی اندروید ی باشید که در محیط جذاب اندروید استودیو کار می کنید حتما با واژه ی Proguard رو به رو شده اید و با عملکرد آن هر چند مختصر آشنا هستید .
پروگارد برای فشرده سازی کد و هم چنین تغییر در ساختار کد استفاده می شود .
به صورتی که این تفییر در ساختار هنگام دیکامپایل سورس اندروید , خواندن سورس کد شما که خود آن را نوشته اید دشوار خواهد کرد.
پروگارد به کم کردن حجم خروجی سورس و هم چنین پاکسازی فایل های اضافه نیز کمک میکند .در این مقاله قرار نیست راجب به پروگارد بحث کنیم پس فقط خواستم مرور سریعی داشته باشیم تا بتوانیم وارد بحث اصلی شویم .
استفاده از R8 در اندروید استدیو
بحث اصلی این پست R8 هست که به همراه اندروید استودیو نسخه ی 3.4 که در حال حاظر آخرین نسخه هست , ریلیز شد .
این قابلیت به صورت پیش فرض در فایل (gradle.properties (Project properties
به این صورت فعال شده است :
android.enableR8=true
قبل از R8 , فرآیند فشرده سازی کد (code shrinking process) در دو مرحله و دو وظیفه تقسیم و انجام می شد که اولین آن توسط ProGuard و دیگری توسط D8 and Desugar صورت می گرفت.
به گفته ی گوگل R8 را به دلایلی می توان در عملکرد و کارایی خیلی بهتر از پروگارد دانست و می تواند به راحتی جایگزین پروگارد شود .
که دلایل مهم آن را در ادامه خواهیم داشت .
R8 به صورت خیلی جامع تر و بهتر کد های استفاده نشده را به طور کامل حذف می کند. که این مورد باعث کم شدن حجم سورس و هم چنین خروجی شما می شود.
که باز به تبعه ی آن عملکرد و به قولی پرفورمنس خروجی (اپلیکیشن شما) را بهتر میسازد.
و در کل با استفاده از R8 در تایم خود صرفه جویی کنید.
در ادامه می قرار هست که مقایسه ی فرآیندی و عملکردی ProGuard و D8 و R8 را همراه با تصاویری داشته باشیم.
فرآیند R8
فرآیند ProGuard
پس از این پست باید تصمیم خود را برای جایگزین کردن R8 به جای پروگارد گرفته باشید.
پایدار باشید.
سنا عبادی CO-Founder نویسنده مقاله
توسعه دهنده موبایل به ویژه سیستم عامل اندروید ، هم بنیانگذار اندروید ریور و در تلاش برای تحقق یک رویا..
نگارش کد بلند یا نگارش بخش عمده یک سورس کد :