نصب بدون دردسر کتابخانه های gradle

مهدی عبدالهی
مهدی عبدالهی
@jmsrn
· 17 فروردین 1404 · 2 دقیقه مطالعه · 2 بازدید

🚀 نصب سریع و بدون دردسر کتابخانه‌های Gradle

در توسعه اپ‌های اندروید، دانلود وابستگی‌ها از ریپازیتوری‌هایی مثل Maven Central یا Google Maven ضروریه. اما در شرایطی مثل فیلترینگ یا اینترنت کند، ممکنه با خطاهایی هنگام build مواجه بشید.

🧨 مشکل کجاست؟

Gradle به‌صورت پیش‌فرض از آدرس‌های زیر برای دریافت کتابخانه‌ها استفاده می‌کنه:

https://repo.maven.apache.org/maven2
https://dl.google.com/dl/android/maven2
https://plugins.gradle.org/m2

در صورت عدم دسترسی، فرایند build متوقف میشه.

✅ راه‌حل: استفاده از Mirror (آینه‌های سریع و جایگزین)

با تنظیم یک فایل global در مسیر .gradle/، می‌تونید به‌صورت خودکار آدرس‌ ریپازیتوری‌ها رو به آینه‌هایی مثل Tencent تغییر بدید.

🔧 مراحل پیاده‌سازی:

  1. در مسیر زیر، فایل جدیدی به اسم init.gradle.kts بسازید:

ویندوز: C:\Users\<USERNAME>\.gradle

مک/لینوکس: ~/.gradle

2. کد زیر را در فایل قرار دهید:

fun RepositoryHandler.enableMirror() {
    all {
        if (this is MavenArtifactRepository) {
            val originalUrl = this.url.toString().removeSuffix("/")
            urlMappings[originalUrl]?.let {
                logger.lifecycle("Repository[$url] is mirrored to $it")
                this.setUrl(it)
            }
        }
    }
}

val urlMappings = mapOf(
    "https://repo.maven.apache.org/maven2" to "https://mirrors.tencent.com/nexus/repository/maven-public/",
    "https://dl.google.com/dl/android/maven2" to "https://mirrors.tencent.com/nexus/repository/maven-public/",
    "https://plugins.gradle.org/m2" to "https://mirrors.tencent.com/nexus/repository/gradle-plugins/"
)

gradle.allprojects {
    buildscript {
        repositories.enableMirror()
    }
    repositories.enableMirror()
}

gradle.beforeSettings {
    pluginManagement.repositories.enableMirror()
    dependencyResolutionManagement.repositories.enableMirror()
}

3. از این به بعد با اجرای ./gradlew در هر پروژه، Gradle به‌صورت خودکار از آینه‌ها استفاده می‌کنه.

💡 نکته: در برخی موارد ممکنه دانلودها با خطا قطع بشن؛ اجرای مجدد Gradle معمولاً ادامه نصب را انجام می‌دهد.

به این مقاله چه واکنشی داری؟
2 بازدید

اگر این مقاله برات مفید بود، از نویسنده حمایت کن

کامنت‌ها
برای ثبت کامنت وارد شوید.
اشتراک‌گذاری