جدول زمانی مهاجرت DSL/API افزونه Android Gradle

افزونه‌ی گریدل اندروید (AGP) سیستم ساخت پشتیبانی‌شده برای برنامه‌های اندروید است و شامل پشتیبانی از کامپایل انواع مختلف منابع و پیوند دادن آنها به یکدیگر در قالب یک برنامه است که می‌توانید آن را روی یک دستگاه اندروید فیزیکی یا یک شبیه‌ساز اجرا کنید.

بخش زیر، سیر تکامل برنامه‌ریزی‌شده‌ی DSL و API مربوط به AGP را شرح می‌دهد. با معرفی APIهای جدید در نسخه‌های پایدار، APIهای قدیمی به عنوان منسوخ‌شده علامت‌گذاری می‌شوند. سپس این APIهای منسوخ‌شده در نسخه پایدار بعدی از دسترس خارج می‌شوند. در زیر، اطلاعاتی در مورد تغییرات آتی در هر نسخه اصلی AGP خواهید یافت.

برای گزارش دقیق‌تر از منسوخ شدن‌ها یا حذف‌های API AGP، به به‌روزرسانی‌های API AGP مراجعه کنید.

AGP 9.0 (ژانویه 2026)

APIهای نوع جدید پایدار هستند، APIهای قدیمی منسوخ شده‌اند

  • APIهای Variant که در نسخه‌های ۴.۱ و ۴.۲ در حال توسعه بودند، پایدار هستند.
  • همه این رابط‌ها در gradle-api artifact قرار دارند.
  • رابط‌ها و کلاس‌های قبلی که در Variant API قدیمی استفاده می‌شدند، اکنون منسوخ شده‌اند و برای استفاده نیاز به انتخاب صریح دارند.

رابط‌های DSL جدید پایدار هستند، رابط‌های قدیمی منسوخ شده‌اند

  • رابط‌های DSL که در نسخه‌های ۴.۱، ۴.۲ و ۷.۰ در حال توسعه بودند، اکنون پایدار هستند.
  • همه این رابط‌ها در gradle-api artifact قرار دارند.
  • رابط‌ها و کلاس‌های قبلی مورد استفاده در DSL اکنون منسوخ شده‌اند و برای استفاده نیاز به انتخاب صریح دارند.

کلاس‌های خصوصی داخلی AGP هنوز در دسترس هستند

کلاس‌های داخلی خصوصی از AGP، که در سایر مصنوعات قرار دارند، همچنان در طول کامپایل فایل‌های ساخت و افزونه‌ها قابل دسترسی هستند، اما استفاده از آنها توصیه نمی‌شود زیرا ممکن است در هر زمانی در روش‌های شکستن تغییر کنند.

AGP 10.0 (اواخر ۲۰۲۶)

API های قدیمی حذف می شوند

  • تمام رابط‌ها و کلاس‌های قبلی مورد استفاده در DSL و API قدیمی Variant حذف می‌شوند.
  • ابزار gradle-api تنها ابزاری است که برای دسترسی به رابط‌ها و کلاس‌های DSL و APIهای مختلف نیاز دارید و باید هنگام توسعه افزونه‌ها از آن استفاده کنید.

(آزمایشی) دسترسی به کلاس‌های خصوصی داخلی AGP حذف شده است

وابستگی به gradle artifact اکنون تمام کلاس‌های داخلی را پنهان می‌کند و فقط به رابط‌ها و کلاس‌های موجود در gradle-api artifact دسترسی کامپایل می‌دهد. این امر بر کامپایل افزونه تأثیر می‌گذارد.

اضافه کردن دستی یک وابستگی برای دسترسی به کلاس‌های داخلی امکان‌پذیر نیست.