افزایه Android Gradle نسخه ۹.۳.۰ (ژوئیه ۲۰۲۶)

افزایه Android Gradle نسخه ۹.۳ نسخه فرعی است که شامل انواع مختلفی از ویژگی‌های جدید و بهبودها است.

سازگاری

حداکثر سطح میانای برنامه‌سازی کاربردی که افزایه Android Gradle نسخه ۹.۳ پشتیبانی می‌کند سطح میانای برنامه‌سازی کاربردی ۳۷ است. در اینجا اطلاعات سازگاری دیگری ارائه شده است:

حداقل نسخه نسخه پیش‌فرض یادداشت‌ها
Gradle 9.5.0 9.5.0 برای کسب اطلاعات بیشتر، به‌روزرسانی Gradle را ببینید.
ابزارهای ساخت کیت توسعه نرم‌افزار ‫۳۶.۰.۰ ‫۳۶.۰.۰ «ابزارهای ساخت کیت توسعه نرم‌افزار» را نصب یا پیکربندی کنید.
NDK موجود نیست 28.2.13676358 نسخه دیگری از NDK را نصب یا پیکربندی کنید.
JDK 17 17 برای کسب اطلاعات بیشتر، تنظیم نسخه JDK را ببینید.

تکلیف Gradle «تجزیه‌وتحلیل پیکربندی R8 مستقل»

افزایه Android Gradle نسخه ۹.۳ یک وظیفه اختصاصی Gradle برای اجرای R8 Configuration Analyzer در انزوا معرفی می‌کند. «تحلیلگر پیکربندی R8» به شما کمک می‌کند قوانین کوچک‌سازی و مبهم‌سازی کد برنامه‌تان را بهینه‌سازی کنید.

./gradlew :app:analyzeReleaseR8Config

تکلیف :app:analyzeReleaseR8Config گزارش را بدون تکمیل کردن خط لوله گردآوری «دسته» یا APK تولید می‌کند. این کار باعث ایجاد حلقه بازخورد کوتاه‌تری می‌شود که تکرار توسعه‌دهنده را هنگام پالایش قوانین نگهداری تسریع می‌کند. یا می‌توانید با اجرای ساخت نسخه R8 (مثل assembleRelease یا bundleRelease)، گزارش را به‌طور خودکار تولید کنید.

برای اطلاعات بیشتر، به اجرای وظیفه مستقل Gradle برای تولید گزارش مراجعه کنید.

مشکلات برطرف‌شده

افزایه Android Gradle نسخه ۹.۳.۳

مشکلات برطرف‌شده
افزایه Android Gradle
زبان مدل‌سازی خاص (DSL) بهینه‌سازی جدید AGP 9.3.0 { enable = true } مقدار isMinifyEnabled را در شیء ApplicationVariant تنظیم نمی‌کند
Dexer (D8)
‫D8 نسخه ۹.۲.۱۴ در `mergeProjectDexDebug` با ورودی/برونداد یکسان حدود ‎٪۳۸ کندتر از نسخه ۸.۱۳.۶ است
Shrinker (R8)
حالت اشکال‌زدایی D8: خطای ArrayIndexOutOfBoundsException: شاخص -۱ خارج از محدوده طول ۳۱ — پسرفت بین R8 8.8.34 و 8.9.27
‫VerifyError: «برنامه‌ریز» منطقه try-catch را به‌اشتباه گسترش می‌دهد و باعث می‌شود ثبات اولیه ازدست برود
‫R8 فایل `.kotlin_module` را با «:» در نامش می‌نویسد و نام فایلی تولید می‌کند که در Windows نامعتبر است
ساخت R8 غیرقطعی: ورودی یکسان dex/mapping متفاوت تولید می‌کند (پس‌رفت از «حفظ دستورات Assume در LIR»)
نگاشت تکراری با R8 9.1
‫AGP به‌صورت متناوب فایل‌های dex تولید می‌کند که درستی‌سنجی نمی‌شوند و باعث ازکار افتادن برنامه در زمان راه‌اندازی می‌شوند
NullPointerException: نمی‌تواند Position.getOutermostCaller() را فراخوانی کند زیرا entryPosition تهی است
مصرف بالای حافظه برای هر قانون
R8: VerifyError در Android 4.4

افزایه Android Gradle نسخه ۹.۳.۲

مشکلات برطرف‌شده
Lint
خرابی‌های AGP 9.3 lint در JDK 17 — NoSuchMethodError: java.util.List.removeLast() در intellij-core JavaDocParser دسته‌بندی‌شده

افزایه Android Gradle نسخه ۹.۳.۱

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.1 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-rc02

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0-rc02 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-rc01

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0-rc01 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-alpha12

مشکلات برطرف‌شده
افزایه Android Gradle
خطای ساخت: نشت مدیریت فایل در classes.jar در compile_library_classes_jar مانع بازسازی در Windows تا زمان راه‌اندازی مجدد IDE می‌شود
Lint
‫Lint کتابخانه Java واردشده را به‌عنوان پروژه Android درنظر می‌گیرد و نسخه SDK کامپایل را نادیده می‌گیرد

افزایه Android Gradle نسخه 9.3.0-alpha11

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0-alpha11 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-alpha10

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0-alpha10 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-alpha09

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0-alpha09 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-alpha08

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0-alpha08 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-alpha07

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0-alpha07 به‌عنوان رفع‌شده علامت‌گذاری نشده است

افزایه Android Gradle نسخه 9.3.0-alpha06

مشکلات برطرف‌شده
افزایه Android Gradle
‫JavaDocGenerationTask باید از کارگران استفاده کند

افزایه Android Gradle نسخه 9.3.0-alpha05

مشکلات برطرف‌شده
Shrinker (R8)
نگاشت مبهم‌سازی L8 در app mapping.txt وجود ندارد

افزایه Android Gradle نسخه 9.3.0-alpha04

مشکلات برطرف‌شده
افزایه Android Gradle
مجموعه منبع keepRules در KMP بدون آن نادیده گرفته شد.consumerKeepRules.publish = true

افزایه Android Gradle نسخه 9.3.0-alpha03

مشکلات برطرف‌شده
افزایه Android Gradle
java.lang.ClassNotFoundException: پس‌از ارتقا دادن gradle به 9.2.0، کلاس «com.android.tools.r8.RecordTag» پیدا نشد
Lint
خطای Lint وقتی کاهش منابع غیرفعال است

افزایه Android Gradle نسخه 9.3.0-alpha02

مشکلات برطرف‌شده
افزایه Android Gradle
درخواست ویژگی: افزودن پشتیبانی native_libs_merge_blame_file به «افزایه Android Gradle»
Lint
علامت نقل قول معکوس در پیام مشکل AnnotationDetector وجود ندارد
خطای Lint وقتی کاهش منابع غیرفعال است

افزایه Android Gradle نسخه 9.3.0-alpha01

مشکلات برطرف‌شده
افزایه Android Gradle
مشکل در کدهای نسخه تولیدشده به‌طور خودکار
AGP: از «پروژه» به‌عنوان نماد وابستگی مهاجرت کنید
Lint
مثبت کاذب Lint با UseKtx

افزایه Android Gradle نسخه ۹.۳.۰

مشکلات برطرف‌شده
هیچ مشکل عمومی‌ای در AGP 9.3.0 به‌عنوان رفع‌شده علامت‌گذاری نشده است

«زبان بهینه‌سازی دامنه» به‌روزشده برای پیکربندی قوانین نگهداری R8

زبان توصیفی بهینه‌سازی به‌روزشده را برای پیکربندی قوانین نگهداری برای بهینه‌سازی R8 معرفی می‌کند که توسط واحدهای برنامه و آزمایش‌های واحد کتابخانه پشتیبانی می‌شود. برای پیکربندی بهینه‌سازی با DSL به‌روزشده، از بلوک جدید optimization استفاده کنید. برای برنامه‌ها، optimization را در نوع ساخت (مثل release یا debug) در دستورگان ساخت سطح برنامه پیکربندی کنید. زبان مدل‌سازی بهینه‌سازی به‌روزشده پیکربندی R8 را ساده‌تر می‌کند:

  • روشن کردن بهینه‌سازی هم بهینه‌سازی کد و هم کاهش منابع بهینه‌سازی‌شده را فعال می‌کند.
  • دیگر نیازی نیست فایل قوانین نگهداری پیش‌فرض Android را مشخص کنید.

توجه داشته باشید که DSL قدیمی همچنان پشتیبانی می‌شود.

معرفی مجموعه‌های منبع برای تعریف قوانین نگهداری

قوانین نگهداری را در مجموعه منبع src/<variant>/keepRules/ با پسوند فایل .keep قرار دهید. مجموعه‌های منبع برای قوانین نگهداری توسط زبان مدل‌سازی بهینه‌سازی به‌روزشده و زبان مدل‌سازی قدیمی پشتیبانی می‌شوند. استفاده از مجموعه‌های منبع برای قوانین نگهداری در واحدهای برنامه، واحدهای کتابخانه، و به‌عنوان روشی برای تعریف قوانین مصرف‌کننده در واحدهای Kotlin Multiplatform (KMP) پشتیبانی می‌شود.