الإصدار 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 |
|
||
الإصدار 9.2.0-alpha03 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
| المشاكل التي تم إصلاحها | |||
|---|---|---|---|
| المكوّن الإضافي لنظام Gradle المتوافق مع Android |
|
||
| أداة Lint |
|
||
| التكامل مع Lint |
|
||
الإصدار 9.2.0-alpha02 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
| المشاكل التي تم إصلاحها | ||||
|---|---|---|---|---|
| المكوّن الإضافي لنظام Gradle المتوافق مع Android |
|
|||
| التكامل مع Lint |
|
|||
الإصدار 9.2.0-alpha01 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
| المشاكل التي تم إصلاحها | |||||
|---|---|---|---|---|---|
| المكوّن الإضافي لنظام Gradle المتوافق مع Android |
|
||||
| أداة Lint |
|
||||