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