افزونه اندروید گریدل ۸.۳.۰ یک نسخه اصلی است که شامل مجموعهای از ویژگیها و بهبودهای جدید میشود.
سازگاری
حداکثر سطح API که افزونه اندروید Gradle نسخه ۸.۳ پشتیبانی میکند، سطح API ۳۴ است. در اینجا اطلاعات سازگاری دیگری نیز وجود دارد:
| حداقل نسخه | نسخه پیشفرض | یادداشتها | |
|---|---|---|---|
| گرادل | ۸.۴ | ۸.۴ | برای کسب اطلاعات بیشتر، به بهروزرسانی Gradle مراجعه کنید. |
| ابزارهای ساخت SDK | ۳۴.۰.۰ | ۳۴.۰.۰ | ابزارهای ساخت SDK را نصب یا پیکربندی کنید . |
| ان دی کی | ناموجود | ۲۵.۱.۸۹۳۷۳۹۳ | نسخه دیگری از NDK را نصب یا پیکربندی کنید . |
| جیدیکی | ۱۷ | ۱۷ | برای کسب اطلاعات بیشتر، به تنظیم نسخه JDK مراجعه کنید. |
موارد زیر ویژگیهای جدید افزونه اندروید Gradle نسخه ۸.۳ هستند.
انتشار پچ
در زیر لیستی از پچهای منتشر شده در اندروید استودیو Iguana و افزونه اندروید Gradle نسخه ۸.۳ آمده است.
اندروید استودیو ایگوانا | 2023.2.1 پچ 2 و AGP 8.3.2 (آوریل 2024)
این بهروزرسانی جزئی شامل رفع این اشکالات است.
اندروید استودیو ایگوانا | 2023.2.1 پچ 1 و AGP 8.3.1 (مارس 2024)
این بهروزرسانی جزئی شامل رفع این اشکالات است.
پشتیبانی از کاتالوگهای نسخه Gradle
اندروید استودیو از کاتالوگهای نسخه Gradle مبتنی بر TOML پشتیبانی میکند، قابلیتی که به شما امکان میدهد وابستگیها را در یک مکان مرکزی مدیریت کنید و وابستگیها را در ماژولها یا پروژهها به اشتراک بگذارید. اندروید استودیو اکنون پیکربندی کاتالوگهای نسخه را از طریق پیشنهادات ویرایشگر و ادغام با کادر محاورهای ساختار پروژه آسانتر میکند. یاد بگیرید که چگونه کاتالوگهای نسخه Gradle را تنظیم و پیکربندی کنید یا چگونه نسخه ساخته شده خود را به کاتالوگهای نسخه منتقل کنید .
تکمیل کد و ناوبری
اندروید استودیو هنگام ویرایش یک کاتالوگ نسخه در قالب فایل TOML یا اضافه کردن یک وابستگی از یک کاتالوگ نسخه به یک فایل ساخت، قابلیت تکمیل کد را ارائه میدهد. برای استفاده از تکمیل کد، کلیدهای Ctrl+Space (در macOS کلیدهای Command+Space ) را فشار دهید. علاوه بر این، میتوانید با فشار دادن کلیدهای Ctrl+b (در macOS کلیدهای Command+b ) به سرعت از یک مرجع وابستگی در فایل build.gradle برنامه خود به جایی که در کاتالوگ نسخه اعلام شده است، حرکت کنید.

ادغام با پنجره ساختار پروژه
اگر پروژه شما از یک کاتالوگ نسخه تعریف شده در قالب فایل TOML استفاده میکند، میتوانید متغیرهایی را که در آنجا تعریف کردهاید از طریق پنجره ساختار پروژه ، نمای متغیرها ( File > Project Structure > Variables ) در اندروید استودیو ویرایش کنید. برای هر کاتالوگ نسخه، یک منوی کشویی وجود دارد که متغیرهای آن کاتالوگ را فهرست میکند. برای ویرایش یک متغیر، روی مقدار آن کلیک کنید و آن را بازنویسی کنید. هنگامی که این تغییرات را ذخیره میکنید، فایل TOML بر اساس آن بهروزرسانی میشود.

همچنین میتوانید وابستگیها را در پنجره ساختار پروژه، نمای وابستگیها ( File > Project Structure > Dependencies ) بهروزرسانی کنید. برای بهروزرسانی نسخهها با استفاده از پنجره ساختار پروژه ، به ماژول و وابستگیای که میخواهید ویرایش کنید بروید و سپس فیلد نسخه درخواستی (Requested Version ) را بهروزرسانی کنید. وقتی این تغییرات را ذخیره میکنید، فایل TOML نیز متناسب با آن بهروزرسانی میشود. توجه داشته باشید که اگر نسخه وابستگی با استفاده از یک متغیر تعریف شده باشد، بهروزرسانی مستقیم نسخه به این روش، متغیر را با یک مقدار ثابت جایگزین میکند. همچنین توجه داشته باشید که حذف یک وابستگی از یک فایل ساخت، چه از پنجره ساختار پروژه استفاده کنید و چه نکنید، وابستگی را از کاتالوگ نسخه حذف نمیکند.

مشکلات و محدودیتهای شناختهشده
موارد زیر مشکلات یا محدودیتهای شناختهشدهای در پشتیبانی از Gradle Version Catalogs در اندروید استودیو هستند.
خطا در هایلایت کردن اعلانهای نام مستعار افزونه در فایلهای اسکریپت کاتلین: وقتی اعلان افزونهای به شکل
alias(libs.plugins.example)اضافه میکنید، ویرایشگر یک زیرخط قرمز زیر قسمتlibsاضافه میکند. این یک مشکل شناخته شده در نسخههای ۸.۰ و پایینتر Gradle است و در نسخههای بعدی Gradle حل خواهد شد.پشتیبانی اندروید استودیو فقط برای کاتالوگهای نسخه با فرمت TOML: در حال حاضر پشتیبانی از دیالوگهای تکمیل کد، ناوبری و ساختار پروژه اندروید استودیو فقط برای کاتالوگهای نسخه تعریف شده در فرمت فایل TOML در دسترس است. با این حال، شما هنوز میتوانید یک کاتالوگ نسخه را مستقیماً در فایل
settings.gradleاضافه کنید و از وابستگیهای آن در پروژه خود استفاده کنید.پیمایش برای فایلهای ساخت KTS پشتیبانی نمیشود: پیمایش به تعریف وابستگی در یک کاتالوگ نسخه با استفاده از Control + click ( Command + click در macOS) هنوز برای فایلهای ساخت نوشته شده با استفاده از اسکریپت Kotlin پشتیبانی نمیشود.
دستیار فایربیس وابستگیها را مستقیماً در اسکریپتهای ساخت اضافه میکند: دستیار فایربیس وابستگیها را مستقیماً به اسکریپتهای ساخت شما اضافه میکند، نه از طریق کاتالوگهای نسخه.
قابلیت «یافتن کاربردها» پشتیبانی نمیشود: یافتن کاربردهای یک متغیر کاتالوگ نسخه در سایر فایلهای ساخت هنوز پشتیبانی نمیشود، چه فایل ساخت در KTS باشد و چه در Groovy. یعنی استفاده از Control + click ( Command + click در macOS) روی تعریف یک متغیر در کاتالوگ نسخه، به فایلهای ساختی که متغیر در آنها استفاده شده است، منجر نمیشود.
پنجرهی ساختار پروژه در اندروید استودیو، اگر فایلهای کاتالوگ در پوشهی اصلی
gradleباشند، چندین فایل کاتالوگ را نشان میدهد، اما کاتالوگهای مربوط به ساخت ترکیبی را نشان نمیدهد. برای مثال، اگر دو فایل کاتالوگ دارید - یکی برای برنامهی شما و دیگری برای ساخت ترکیبی - پنجرهی ساختار پروژه فقط فایل کاتالوگ برنامه را نشان میدهد. میتوانید از ساخت ترکیبی استفاده کنید، اما باید فایل TOML آن را مستقیماً ویرایش کنید.
بینشهای بیشتر در مورد SDK: مسائل مربوط به سیاست
اندروید استودیو برای SDK های عمومی که در فهرست SDK گوگل پلی، نقض خط مشی Play دارند، هشدارهای lint را در فایلهای build.gradle.kts و build.gradle و در پنجره ساختار پروژه نمایش میدهد. شما باید هرگونه وابستگی که خط مشیهای Play را نقض میکند، بهروزرسانی کنید زیرا این نقضها میتواند در آینده مانع از انتشار شما در کنسول گوگل پلی شود. هشدارهای نقض خط مشی، هشدارهای نسخه قدیمی نمایش داده شده توسط اندروید استودیو را تکمیل میکنند.
پشتیبانی از نسخه compileSDK اندروید استودیو
اگر پروژه شما از compileSdk ای استفاده کند که توسط نسخه فعلی اندروید استودیو پشتیبانی نمیشود، اندروید استودیو هشداری را نمایش میدهد. در صورت وجود، همچنین پیشنهاد میدهد که به نسخهای از اندروید استودیو که از compileSdk مورد استفاده پروژه شما پشتیبانی میکند، منتقل شوید. به خاطر داشته باشید که ارتقاء اندروید استودیو ممکن است نیاز به ارتقاء AGP نیز داشته باشد . AGP همچنین در صورتی که compileSdk مورد استفاده پروژه شما توسط نسخه فعلی AGP پشتیبانی نشود، هشداری را در پنجره ابزار ساخت نمایش میدهد.
تغییر رفتار Lint
با شروع از افزونه اندروید Gradle نسخه ۸.۳.۰-alpha02، هنگام اجرای lint روی یک ماژول، وظایف تجزیه و تحلیل lint جداگانه برای اجزای اصلی و آزمایشی ماژول اجرا میشوند. دلیل این تغییر بهبود عملکرد است. برای بازگشت به رفتار قبلی، android.experimental.lint.analysisPerComponent=false را در فایل gradle.properties خود تنظیم کنید.
کاهش دقیق منابع به طور پیشفرض فعال است
کوچکسازی دقیق منابع، که ورودیهای بلااستفاده را از فایل resources.arsc حذف میکند و فایلهای منبع بلااستفاده را از بین میبرد، به طور پیشفرض فعال است. وقتی این کوچکسازی فعال باشد، جدول منابع شما کوچک میشود و فقط ورودیهای پوشه res که به آنها ارجاع داده شده است در APK گنجانده میشوند.
برای غیرفعال کردن کوچکسازی دقیق منابع، مقدار android.enableNewResourceShrinker.preciseShrinking را در فایل gradle.properties پروژه خود روی false تنظیم کنید.
مشکلات برطرف شده
افزونه اندروید گریدل ۸.۳.۲
| مشکلات برطرف شده | |||
|---|---|---|---|
| افزونه گرادل اندروید |
| ||
| ادغام Lint |
| ||
افزونه اندروید گریدل ۸.۳.۱
| مشکلات برطرف شده | ||
|---|---|---|
| افزونه گرادل اندروید |
| |
| ادغام Lint |
| |
افزونه اندروید گریدل ۸.۳.۰
| مشکلات برطرف شده | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| افزونه گرادل اندروید |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| دکسر (D8) |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| پرز |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| ادغام Lint |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| شرینکر (R8) |
| |||||||||||||||||||||||||||||||||||||||||||||||||