ممکن است برای شما هم سوال شده باشد که گریدل (gradle) چیست؟ قبل از اینکه به سراغ مبحث اصلی برویم، بگذارید موارد دیگری که ممکن است برای شما سوال باشند را هم بررسی کنیم. ممکن است موارد زیر نیز برای شما مطرح شده باشند:
- معنی گریدل چیست؟
- آموزش نصب گریدل (gradle) در اندروید استودیو
- پلاگین گریدل (gradle plugin) در جاوا چیست؟
- تغییر ورژن گریدل
- کاربرد گریدل در اندروید
- نصب آفلاین گریدل در اندروید استودیو
- مشکل گریدل در اندروید استودیو
- دانلود گریدل برای اندروید استودیو
- gradle wrapper چیست؟
- maven در گریدل چیست؟
- dependency در گریدل چیست؟
- تنظیمات گریدل در اندروید استودیو
اگر شما نیز به دنبال پاسخ به موارد بالا هستید، بهتر است ادامه مطلب را بخوانید و با ما در این مقاله از استک لرن همراه باشید.
ممکن است به این نیز علاقه داشته باشید: لیست دورههای برنامهنویسی اندروید استک لرن
فهرست مطالب
گریدل (gradle) چیست؟
گریدل یک ابزار ساخت خودکار (build automation tool) است و طوری طراحی شده است که با آن بتوان تقریبا هر نوع اپلیکیشنی ساخت. کدهای برنامهنویسی برای گسترش، جمعآوری و تبدیل به یک بسته قابل نصب بر روی سیستم عامل نیاز به یک سیستم یا ابزار ساخت دارد که گریدل اینکار را برایمان انجام میدهد. جالب است بدانید که کلمه gradle معنای خاصی ندارد و یک کلمه ساختگی است.
به طور کلی گریدل (gradle) دارای ویژگیهای زیر است:
- عملکرد بالا: گریدل از انجام کارهای بیهوده جلوگیری میکند و برای بهبود عملکرد فقط آن تسکهایی که باید انجام شوند را انجام میدهد
- سازگار با JVM: گریدل قابل اجرا بر روی ماشین مجازی جاوا نیز میباشد. بنابراین میتوانید از پلتفرم جاوا استفاده کنید و در منطق build خود از API استاندارد جاوا استفاده کنید. البته استفاده گریدل فقط برای JVM نیست و میتواند بر روی هر پروژه نیتیوی (native) استفاده شود
- توسعه پذیری: گریدل قابل توسعه است. میتوانید انواع وظایف یا مدل ساخت خود را ارائه دهید
- پشتیبانی از IDE های مختلف: گریدل از IDE هایی مانند Intellij IDEA، Eclipse و Netbeans پشتیبانی میکند
گریدل از چه زبانهایی پشتیبانی میکند؟
همانطور که گفته شد، gradle بر روی JVM اجرا میشود. بنابراین میتواند از API استاندارد جاوا استفاده کند. همچنین اسکریپتهای ساخت Groovy نیز از API استاندارد Groovy استفاده میکنند و کاتلین (Kotlin) نیز از API خود. بنابراین به طور کلی برای استفاده از گریدل میتوانید به زبان جاوا، Groovy یا کاتلین کد بزنید.
شاید به این دستهبندی علاقه داشته باشید: دورههای آموزش برنامهنویسی به زبان کاتلین (kotlin)
گریدل (gradle) چگونه کار میکند؟
گریدل خود به زبان جاوا نوشته شده است اما به دلیل اینکه gradle فقط برای توسعه برنامهنویسان جاوا استفاده نمیشود و برای اینکه همه برنامهنویسان بتوانند به راحتی در آن کد بنویسند، به صورت پیشفرض از یک DSL مبتنی بر Groovy استفاده میکند. همچنین این تنظیمات گریدل در فایلهای build.gradle ذخیره میشوند.
بنابراین تا این حد بدانید که Syntax گریدل در واقع از DSL کاتلین یا گرووی استفاده میکند. مزیت DSL دراین است که کدها بسیار سادهتر شدهاند و استفاده از API استاندارد آن زبان را راحتتر کرده است. دلیل شکل متفاوت نحو کد در build.gradle یا build.kts نسبت به زبان اصلی (گرووی یا کاتلین به ترتیب) نیز دقیقا همین است.
ممکن است به این دوره علاقهمند باشید: دوره رایگان آموزش گام به گام برنامهنویسی به زبان کاتلین از پایه تا پیشرفته
چرا باید از گریدل (Gradle) استفاده کنیم؟
مدیریت چرخه زندگی (lifecycle) پروژه یک کار پیچیدهای است که میتوان آن را انجام داد اما به تلاش زیادی نیاز است. به دلیل پیچیدگی آن هنگام انجام دستی این وظایف، امکان اشتباه نیز زیاد است.
بگذارید یک مثال بزنیم. فرض کنید یک dependency را در پروژه خود استفاده کردهایم. حال یک نسخه جدیدتر برای آن منتشر شده است. اگر از گریدل استفاده نکنید، باید آن dependency را به صورت دستی دانلود و به پروژه خود ایمپورت کنید. آیا میتوان هر بار که یک نسخه جدید از یک پکیج منتشر میشود، آن را به صورت دستی دانلود کنید و به پروژه بیافزایید؟ حتی تصور این کار هم شما را دیوانه خواهد کرد.
میتوان مثالهای بسیار بیشتری از این شکل را آورد اما فکر میکنم همین مورد پیچیدگی کار بدون استفاده از gradle را برای شما تصریح کرده باشد. به کمک gradle تمام فرآیندها به صورت اتوماتیک انجام میشوند و مدیریت پروژه بسیار آسانتر خواهد شد و اشتباهات نیز به حداقل خواهند رسید. بنابراین میتوانید با تمرکز بسیار بیشتری اپلیکیشن خود را توسعه دهید.
ممکن است به این دستهبندی علاقهمند باشید: مطالب آموزشی کاتلین
آموزش نصب گریدل در اندروید استودیو
برای نصب و دانلود گریدل در Android Studio مراحل زیر را انجام دهید
- اگر در ایران هستید، VPN را قبل از باز کردن اپلیکیشن اندروید استودیو فعال کنید
- سپس اندروید استودیو را باز کنید. یک پروژه جدید بسازید
- منتظر بمانید تا گریدل و گریدل ورپر (Gradle Wrapper) به صورت اتوماتیک شروع به دانلود کند
- پس از دانلود پروژه را در صورت نیاز sync کنید و شروع به استفاده کنید
در صورتی که علاقهمند به دیدن ویدیوی آموزش نصب گریدل اندروید استودیو هستید، میتوانید آن را در دوره آموزش برنامهنویسی مقدماتی اندروید ببینید.
شاید به این مطلب علاقهمند باشید: جت پک کامپوز (Jetpack Compose) در اندروید چیست؟
نصب آفلاین گریدل در Android Studio
برای نصب gradle به صورت دستی در اندروید استودیو مراحل زیر را انجام دهید:
- برای دانلود گریدل (gradle) ابتدا به صفحه دانلود گریدل مراجعه کنید و آخرین نسخه را دانلود کنید که فایلی به صورت gradle-7.4-bin.zip خواهد بود
- سپس اطلاعات درون فایل فشرده را در مسیر C:\Users\username\.gradle قرار دهید
- اندروید استودیو را باز کنید و بر روی "Create New Project" کلیک کنید و یک پروژه جدید بسازید
- کار تمام است. اکنون میتوانید از گریدل به صورت آفلاین استفاده نمایید
حل مشکل گریدل (gradle) در اندروید استودیو
اگر شما هم مشکل سینک (sync) یا همان بیلد نشدن گریدل در اندروید استودیو را دارید و به دنبال رفع خطای گریدل هستید، نگران نباشید. شما تنها نیستید که با این مشکل مواجه میشوید! حتی توسعه دهندگان حرفهای نیز ممکن است گاهی با این مشکل مواجه شوند و بنابراین از روشهایی برای حل این مشکل استفاده میکنند. اگر با این مشکل مواجه میشوید، میتوانید به پست حل مشکل سینک (sync) نشدن گریدل در اندروید استودیو مراجعه کنید.
ممکن است این مطلب را دوست داشته باشید: زبان کاتلین یا زبان جاوا؟
مشکلات استفاده از گریدل
یکی از مشکلات گریدل، کند بودن بسیار زیاد آن در زمان بیلد اپلیکیشن است. متاسفانه گریدل بعضا ممکن است زمان طولانی را برای بیلد شدن صرف کند. این مشکل زمانی که در حال تست و توسعه اپلیکیشن هستیم، بیشتر آزار دهنده خواهد بود. برای جلوگیری از مشکلات کند بودن گریدل، پیشنهاد میکنیم از سختافزار مناسب برای سیستم خود استفاده کنید. همچنین در صورت امکان از هارد SSD استفاده نمایید تا سرعت بیلد گریدل افزایش یابد و در نهایت در توسعه اپلیکیشن خود مشکلی نداشته باشید.
رفع مشکل سینک نشدن گریدل در اندروید استودیو
برای رفع مشکل سینک نشدن گریدل در اندروید استودیو میتوانید موارد زیر را بررسی کنید:
- اطمینان از وجود نسخههای dependency تعریف شده در build.gradle (module.app) در repositoryها
- در صورت امکان نسخههای dependencyها را در صورت وجود به آخرین نسخه تبدیل و مجددا پروژه را sync کنید
- اطمینان حاصل کنید که Android Studio به صورت Run as Administator اجرا شده باشد
- اگر از تنظیمات build.gradle (هم project و هم module) مطمئن هستید، از منوی build دو گزینه Clean Project و Rebuild Project را تست کنید
- اگر از تنظیمات build.gradle (هم project و هم module) مطمئن هستید، از منوی File، گزینه Sync Project with Gradle Files را امتحان کنید
- اگر از تنظیمات build.gradle (هم project و هم module) مطمئن هستید، از منوی File، گزینه Invalidate Caches... را امتحان کنید
ممکن است به این مطلب علاقهمند باشید: آموزش و مثال جت پک کامپوز در اندروید