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

گردل در اندروید ؟ آموزش کامل تنظیم و ساخت پروژه در اندروید استودیو

گردل در اندروید

اگر تا به حال با اندروید استودیو (Android Studio) کار کرده‌اید، بدون شک نام Gradle یا همان گردل را زیاد دیده‌اید؛ مخصوصاً زمانی که پروژه در حال Build شدن است یا خطایی با عنوان Gradle sync failed نمایش داده می‌شود.
اما آیا می‌دانید Gradle دقیقاً چیست و چه کاری انجام می‌دهد؟ چرا بدون آن هیچ پروژه اندرویدی قابل اجرا نیست؟ در این مقاله از آکادمی آموزنگار، به‌صورت کامل و کاربردی توضیح می‌دهیم که Gradle چگونه کار می‌کند، فایل build.gradle چه اجزایی دارد و چطور می‌توان از آن برای کنترل ساخت اپلیکیشن استفاده کرد.

Gradle چیست؟

Gradle یک Build System متن‌باز است که وظیفه دارد پروژه‌های نرم‌افزاری را بسازد، وابستگی‌ها را مدیریت کند و فایل خروجی (APK یا AAB) را تولید نماید.
گردل از زبان‌های Groovy و Kotlin DSL استفاده می‌کند و انعطاف‌پذیری بسیار بالایی در تنظیمات دارد.

به زبان ساده‌تر:

Gradle مغز متفکر فرآیند ساخت (Build) اپلیکیشن شماست.

برای نصب و راه اندازی ابزارهای برنامه نویسی اندروید با جزئیات بیشتر آموزش نصب و راه اندازی اندروید به مقاله ما مراجعه کنید.

چرا Gradle در اندروید مهم است؟

قبل از معرفی Gradle، ابزارهایی مانند Ant و Maven برای ساخت پروژه‌ها به‌کار می‌رفتند، اما این ابزارها محدود بودند و سفارشی‌سازی کمی داشتند. Gradle ترکیبی از قدرت و انعطاف را ارائه داد.
مهم‌ترین مزیت‌های آن عبارتند از:

  • مدیریت خودکار وابستگی‌ها (Dependencies)
  • پشتیبانی از ساخت چندماژوله (Multi-Module)
  • افزایش سرعت Build با سیستم کش داخلی
  • قابلیت شخصی‌سازی بالا در مراحل build
  • سازگاری با ابزارهای CI/CD
گردل

آشنایی با فایل build.gradle در اندروید استودیو

هر پروژه اندرویدی دو فایل اصلی build.gradle دارد:

  1. فایل سطح پروژه (Project-level build.gradle)
    در مسیر اصلی پروژه قرار دارد و تنظیمات کلی را مشخص می‌کند.
  2. فایل سطح ماژول (Module-level build.gradle)
    مخصوص هر اپلیکیشن یا کتابخانه است و تنظیمات مربوط به همان ماژول را نگه می‌دارد.

۱. فایل build.gradle سطح پروژه

این فایل معمولاً شامل تنظیمات کلی مربوط به Gradle Plugin، نسخه Kotlin و Repositories است.
نمونه:

این فایل معمولاً شامل تنظیمات کلی مربوط به Gradle Plugin، نسخه Kotlin و Repositories است.
نمونه:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.1.1'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.10'
    }
}
allprojects {
    repositories {
        google()
        mavenCentral()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}
تنظیمات گردل

توضیح بخش‌ها:

  • buildscript → تعیین منبع (Repository) و نسخه پلاگین‌های موردنیاز پروژه
  • dependencies → مشخص کردن پلاگین‌های سطح پروژه مثل Android Gradle Plugin یا Kotlin
  • allprojects → تنظیم مخازن برای تمام ماژول‌ها
  • task clean → پاک کردن پوشه‌های build برای اجرای مجدد پروژه

 ۲. فایل build.gradle سطح ماژول (Module-level)

در مسیر app/build.gradle قرار دارد و شامل تنظیمات مربوط به همان اپلیکیشن است.

نمونه:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}
android {
    namespace 'com.example.myapp'
    compileSdk 34
    defaultConfig {
        applicationId "com.example.myapp"
        minSdk 24
        targetSdk 34
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    implementation 'androidx.core:core-ktx:1.10.1'
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'com.google.android.material:material:1.12.0'
}

توضیح خط‌به‌خط:

  • plugins → پلاگین‌هایی که نوع ماژول را مشخص می‌کنند (مثلاً اپلیکیشن یا کتابخانه)
  • android → تنظیمات اصلی پروژه (SDKها، نسخه اپ، تنظیمات build)
  • buildTypes → حالت‌های ساخت (مثل Debug یا Release)
  • dependencies → فهرست کتابخانه‌هایی که پروژه به آن‌ها نیاز دارد

نکته: فایل Settings.gradle

این فایل در سطح پروژه قرار دارد و مشخص می‌کند کدام ماژول‌ها در پروژه وجود دارند.

مثال:

1
2
include ':app', ':library'
rootProject.name = "MyApplication"

نحوه مدیریت وابستگی‌ها (Dependencies)

یکی از جذاب‌ترین بخش‌های Gradle، مدیریت خودکار کتابخانه‌ها است.
شما کافی است نام و نسخه کتابخانه را در بخش dependencies بنویسید:

1
2
3
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.11.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3'

Gradle به‌صورت خودکار آن‌ها را از مخازن مشخص‌شده (Google یا MavenCentral) دانلود و در پروژه استفاده می‌کند.

تنظیمات گریدل

دستورات پرکاربرد Gradle

در محیط ترمینال یا ابزار Gradle در اندروید استودیو می‌توانید از دستورات زیر استفاده کنید:

دستور توضیح
gradlew assembleDebug ساخت نسخه Debug
gradlew assembleRelease ساخت نسخه Release
gradlew clean پاک‌سازی فایل‌های build
gradlew dependencies نمایش وابستگی‌های پروژه
gradlew test اجرای تست‌های واحد

مزایا و معایب Gradle

مزایا

  • سرعت بالا در Build با استفاده از کش داخلی
  • پشتیبانی از زبان‌های مختلف
  • قابلیت ساخت چندماژوله
  • ادغام آسان با ابزارهای CI/CD

معایب

  • پیچیدگی تنظیمات اولیه
  • زمان‌بر بودن build در پروژه‌های بزرگ

خطاهای متداول در Gradle

  • Gradle sync failed: خطا در تنظیمات یا اینترنت
  • Could not resolve dependency: کتابخانه در مخزن پیدا نشده
  • Build failed with an exception: اشتباه در فایل build.gradle

راه‌حل: Gradle و پلاگین‌ها را به آخرین نسخه پایدار ارتقا دهید و فایل‌های کش را پاک کنید.

gradle

استفاده از Gradle در اندروید استودیو

یکی از دلایل اصلی محبوبیت اندروید استودیو (Android Studio)، ادغام کامل آن با Gradle است. این ابزار، ستون فقرات سیستم ساخت پروژه‌های اندرویدی محسوب می‌شود. از لحظه‌ای که یک پروژه جدید ایجاد می‌کنید، اندروید استودیو به‌صورت خودکار فایل‌های build.gradle را می‌سازد و تنظیمات پیش‌فرض پروژه را در آن قرار می‌دهد.

در واقع، گردل در اندروید وظیفه دارد تمام مراحل ساخت اپلیکیشن — از کامپایل کردن کد منبع (Source Code) تا تبدیل آن به فایل APK یا AAB نهایی — را مدیریت کند. هر بار که در اندروید استودیو روی دکمه Run کلیک می‌کنید، Gradle پشت‌صحنه شروع به اجرای چندین مرحله می‌کند؛ مانند بررسی وابستگی‌ها، کامپایل کدها، تولید منابع (Resources) و در نهایت اجرای اپلیکیشن روی شبیه‌ساز یا دستگاه واقعی.

یکی از ویژگی‌های کلیدی Gradle در اندروید استودیو، استفاده از Tasks است. هر Task یک عملیات خاص را انجام می‌دهد؛ مثلاً assembleDebug برای ساخت نسخه‌ی Debug و assembleRelease برای ساخت نسخه‌ی نهایی اپلیکیشن. توسعه‌دهندگان می‌توانند در فایل build.gradle تسک‌های جدیدی تعریف کنند یا رفتار تسک‌های موجود را تغییر دهند تا فرآیند ساخت دقیق‌تر و شخصی‌سازی‌شده‌تری داشته باشند.

اندروید استودیو همچنین یک پنل مخصوص به نام Gradle Panel در سمت راست محیط توسعه دارد که از طریق آن می‌توانید به‌صورت گرافیکی تمام تسک‌ها، ماژول‌ها و تنظیمات Gradle را مشاهده و اجرا کنید. این ویژگی باعث می‌شود حتی توسعه‌دهندگانی که تجربه‌ی کار با خط فرمان ندارند، بتوانند به‌سادگی از قابلیت‌های قدرتمند Gradle استفاده کنند.

همچنین، Gradle در اندروید استودیو با ویژگی Build Variants ترکیب می‌شود. به‌این‌ترتیب می‌توانید نسخه‌های مختلفی از اپلیکیشن را بسازید؛ مثلاً نسخه Debug برای تست و نسخه Release برای انتشار در Google Play. هر Variant می‌تواند تنظیمات مخصوص خود را در بخش buildTypes یا productFlavors داشته باشد، و Gradle به‌طور خودکار آن‌ها را مدیریت می‌کند.

در نهایت، با توجه به امکاناتی مانند Build Cache، Incremental Build و Parallel Execution، Gradle در اندروید استودیو توانسته سرعت ساخت پروژه‌ها را به‌طور چشمگیری افزایش دهد. به همین دلیل است که امروزه تقریباً تمام پروژه‌های اندروید حرفه‌ای، بر پایه‌ی Gradle ساخته و مدیریت می‌شوند.

سوالات متداول

۱. Gradle فقط در اندروید استفاده می‌شود؟
خیر. Gradle برای Java، Kotlin، Spring و حتی C/C++ نیز قابل استفاده است.

۲. فرق Gradle و Maven چیست؟
Gradle از Groovy/Kotlin برای اسکریپت‌نویسی استفاده می‌کند و سریع‌تر و انعطاف‌پذیرتر از Maven است.

۳. چطور نسخه Gradle را به‌روزرسانی کنیم؟
از مسیر:
File > Project Structure > Project
نسخه Gradle Plugin و Gradle Wrapper را تغییر دهید.

جمع‌بندی

Gradle فقط یک ابزار ساخت نیست؛ بلکه هسته‌ی اصلی فرایند توسعه اندروید است.
با درک درست از فایل‌های build.gradle و نحوه تنظیم آن‌ها، می‌توانید پروژه‌های تمیزتر، سبک‌تر و سریع‌تر بسازید.
اگر در حال یادگیری برنامه‌نویسی اندروید هستید، شناخت Gradle یکی از مهم‌ترین گام‌های حرفه‌ای شدن شماست.

دیدگاهتان را بنویسید

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