الإصدار 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.

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

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

تغييرات R8

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

دلالات -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 الجديدة في "مكوّن Android الإضافي لنظام Gradle"
Error when accessing (but not evaluating) bootClasspath IllegalStateException: targetCompatibility is not yet finalized

الإصدار ‎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
[fused lib - public] OkHttp includes sources
يتعذّر تشغيل androidDeviceTest مع عناصر نائبة في البيان في المكتبة (الإصدار 9.0.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android مع المكوّن الإضافي com.android.kotlin.multiplatform.library)
يجب أن تحذّر "مكوّنات Android الإضافية في Gradle" إذا كان لدى المستخدم src/androidDeviceTest/java مع إيقاف Java.
Lint
خطأ إملائي في رسالة Lint