الإصدار 9.2.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android (أبريل 2026)

الإصدار 9.2 من المكوّن الإضافي لنظام Gradle المتوافق مع Android هو إصدار ثانوي يتضمّن مجموعة متنوّعة من الميزات والتحسينات الجديدة.

التوافق

الحدّ الأقصى لمستوى واجهة برمجة التطبيقات الذي يتوافق معه الإصدار 9.2 من المكوّن الإضافي لنظام Gradle المتوافق مع Android هو المستوى 36.1 لواجهة برمجة التطبيقات. في ما يلي معلومات أخرى عن التوافق:

الإصدار الأدنى الإصدار التلقائي ملاحظات
Gradle 9.4.1 9.4.1 لمزيد من المعلومات، اطّلِع على تحديث Gradle.
أدوات تصميم حزمة تطوير البرامج (SDK) 36.0.0 36.0.0 تثبيت أو ضبط أدوات إنشاء حزمة تطوير البرامج (SDK).
NDK لا ينطبق 28.2.13676358 تثبيت أو ضبط إصدار مختلف من NDK
JDK 17 17 لمزيد من المعلومات، اطّلِع على ضبط إصدار JDK.

تقارير موحّدة عن التغطية والاختبارات

يقدّم الإصدار ‎9.2.0-alpha07 من المكوّن الإضافي لنظام Gradle المتوافق مع Android مهام لإنشاء لوحات بيانات بتنسيق HTML تجمع نتائج الاختبارات وبيانات التغطية من أنواع الاختبارات المختلفة (اختبارات الوحدات واختبارات قياس حالة التطبيق)، والوحدات، ومتغيّرات الإصدار، ما يوفّر نظرة عامة شاملة في لوحة بيانات واحدة. لمزيد من المعلومات، اطّلِع على إنشاء تقارير موحّدة عن نسبة استخدام رموز الصفحة وعرض تقارير موحّدة عن الاختبارات.

تغييرات R8

يتضمّن الإصدار ‎9.2.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android تغييرات R8 التالية.

دلالات أكثر صرامة للسمة -keepattributes من أجل الاحتفاظ بالتعليقات التوضيحية غير المرئية في وقت التشغيل

لا يمكن قراءة التعليقات التوضيحية غير المرئية في وقت التشغيل في وقت التشغيل. لذلك، يزيل D8 بشكل غير مشروط التعليقات التوضيحية غير المرئية في وقت التشغيل، بدون أي خيار لتغيير ذلك.

للتوافق مع ProGuard، يتيح R8 إخراج التعليقات التوضيحية غير المرئية في وقت التشغيل. ولكن عند التجميع إلى DEX، يجب بشكل عام عدم الاحتفاظ بالتعليقات التوضيحية غير المرئية في وقت التشغيل. ومع ذلك، من الشائع تضمين القاعدة الملائمة -keepattributes *Annotation* (إما مباشرةً أو بشكل غير مباشر من قواعد الاحتفاظ بالمستهلك) لكي يحتفظ R8 بالتعليقات التوضيحية المرئية في وقت التشغيل. يؤدي ذلك أيضًا إلى الاحتفاظ بالتعليقات التوضيحية غير المرئية في وقت التشغيل.

للتخفيف من هذه المشكلة ومطابقة سلوك D8 بشكل أفضل، لم تعُد أنماط -keepattributes التي تتضمّن أحرف بدل تتطابق مع RuntimeInvisibleAnnotations وRuntimeInvisibleParameterAnnotations وRuntimeInvisibleTypeAnnotations. نتيجةً لذلك، لن يتم الاحتفاظ بالتعليقات التوضيحية غير المرئية في وقت التشغيل إلا إذا تم ذكر اسم السمة بشكل صريح بدون أحرف بدل.

لن تحتفظ أي من القواعد التالية الآن بالتعليقات التوضيحية غير المرئية في وقت التشغيل:

-keepattributes *
-keepattributes *Annotation*
-keepattributes *Invisible*

للاحتفاظ بالتعليقات التوضيحية غير المرئية في وقت التشغيل، استخدِم القاعدة التالية:

-keepattributes RuntimeInvisibleAnnotations,
                RuntimeInvisibleParameterAnnotations,
                RuntimeInvisibleTypeAnnotations

دعم الأسماء المنفية في قواعد الأعضاء

تم توسيع لغة الإعدادات بحيث يمكنك الآن المطابقة مع أنماط أسماء الأعضاء المنفية.

على سبيل المثال، لمطابقة جميع الطرق التي لا تنتهي بـ "ForTesting"، استخدِم القاعدة التالية:

-keepclassmembers class com.example.MyClass {
  *** !*ForTesting(...);
}

يمكن أيضًا نفي أنماط أسماء الأعضاء في الشرط المسبق لقواعد -if. إذا كان نمط اسم العضو المنفي يحتوي على أحرف بدل، لا يمكن الرجوع إلى أحرف البدل هذه في قاعدة -if اللاحقة.

المشاكل التي تم إصلاحها

الإصدار ‎9.2.0-alpha04 من المكوّن الإضافي لنظام Gradle المتوافق مع Android

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
إعادة تسمية ملف APK باستخدام لغة DSL الجديدة في المكوّن الإضافي لنظام Gradle المتوافق مع Android
خطأ عند الوصول إلى bootClasspath (بدون تقييمه) IllegalStateException: لم يتم الانتهاء من targetCompatibility بعد

الإصدار ‎9.2.0-alpha03 من المكوّن الإضافي لنظام Gradle المتوافق مع Android

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
فشل JdkImageTransform مع JDK 26
تلقائيًا، يتم ترميز minAgpVersion في بيانات وصف AAR في الإصدار 10.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
أداة Lint
تم اقتطاع قدرة استيعاب السياق في تقارير أداة Lint SARIF بسبب مؤشر الإزاحة العالق في `SarifReporter.kt`
يفتقر عميل Lint Gradle إلى ميزة مهمة تجعله غير موثوق به في أحسن الأحوال
التكامل مع Lint
تتجاهل مهام Lint Gradle العلامة --quiet

الإصدار ‎9.2.0-alpha02 من المكوّن الإضافي لنظام Gradle المتوافق مع Android

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
الإصدار 9.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android: لا يوجد مكافئ androidComponents.onVariant لـ applicationVariants.all.mergeAssetsProvider
تحتوي ملفات `‎*.xml.flat` على مسارات ملفات مطلقة
لم يتم تسجيل R8D8ThreadPoolBuildService
التكامل مع Lint
فشل Android Lint مع عمليات التحقّق المخصّصة من Lint التي تم تجميعها في رمز Java 21 الثانوي

الإصدار ‎9.2.0-alpha01 من المكوّن الإضافي لنظام Gradle المتوافق مع Android

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
تحذير المستخدمين إذا كان لديهم commonTest ولكنهم نسوا withHostTestBuilder
[مكتبة مدمجة - عامة] يتضمّن OkHttp المصادر
لا يمكن تشغيل androidDeviceTest مع العناصر النائبة للبيان في المكتبة (الإصدار ‎9.0.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android مع المكوّن الإضافي com.android.kotlin.multiplatform.library)
يجب أن يحذّر المكوّن الإضافي لنظام Gradle المتوافق مع Android إذا كان لدى المستخدم src/androidDeviceTest/java مع إيقاف Java
أداة Lint
خطأ إملائي في رسالة Lint