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

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

التوافق

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

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

في ما يلي الميزات الجديدة في الإصدار 8.4 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android":

إصدارات رموز التصحيح

في ما يلي قائمة بإصدارات رموز التصحيح في إصدار Jellyfish من "استوديو Android" والمكوّن الإضافي لنظام Gradle المتوافق مع Android 8.4.

إصدار Jellyfish من "استوديو Android" | الإصدار 2 من حزمة تصحيح ‎2023.3.1 والإصدار 8.4.2 من المكوّن الإضافي لنظام Gradle المتوافق مع Android (يونيو 2024)

تحديث أمان مهم: تم رصد ثغرة أمنية في المكون الإضافي GitHub المتاح في في الإصدار Iguana من "استوديو Android"‏ | 2023.2.1 والإصدارات الأحدث، وقد تؤدي إلى كشف رموز الدخول لأطراف غير مصرّح لها.

الإصلاح: حلّت Jetbrains المشكلة في منتجات منصة IntelliJ، وأصبح الإصلاح متاحًا الآن في الإصدار Jellyfish من "استوديو Android"‏ | الإصدار 2 من حزمة تصحيح ‎2023.3.1 ‏ (2023.3.1.20).

إذا كان لديك إصدار من "استوديو Android" على القناة الثابتة، يمكنك الحصول على التحديث من خلال النقر على "مساعدة" (Help) > "البحث عن تحديثات" (Check for Updates) (أو "استوديو Android" ‏(Android Studio) > "البحث عن تحديثات" (Check for Updates) على نظام التشغيل macOS). بخلاف ذلك، نزِّل أحدث إصدار ثابت.

علاوةً على ذلك، إذا كنت تستخدم بنشاط وظيفة طلبات السحب من GitHub في بيئة التطوير المتكاملة، ننصحك بشدة بإبطال أي رموز GitHub يستخدمها المكوّن الإضافي. بما أنّ المكوّن الإضافي يمكنه استخدام عملية التكامل مع OAuth أو رموز الدخول الشخصية (PAT)، يُرجى التحقّق من كليهما وإبطالهما حسب الحاجة:

  • لإبطال إذن الوصول من أجل عملية التكامل مع OAuth، انتقِل إلى التطبيقات > تطبيقات OAuth المفوّضة وأبطِل إذن الوصول لرمز التكامل مع بيئة تطوير متكاملة من JetBrains
  • لإبطال إذن الوصول لرموز الدخول الشخصية، انتقِل إلى رموز الدخول الشخصية واحذف الرمز الذي تم إصداره للمكوّن الإضافي GitHub. اسم الرمز التلقائي هو المكوّن الإضافي للتكامل مع GitHub في IntelliJ IDEA، ولكن قد تستخدم اسمًا مخصّصًا.

بعد إبطال إذن الوصول للرموز، عليك إعداد المكوّن الإضافي مرة أخرى لكي تعمل جميع ميزاته، بما في ذلك عمليات Git، مرة أخرى.

نقدّم اعتذارنا عن أي إزعاج ونحثّ جميع المستخدمين على التحديث على الفور لحماية الرمز والبيانات.

يتضمّن هذا التحديث الثانوي أيضًا إصلاحات الأخطاء هذه.

الإصدار Jellyfish من "استوديو Android" | الإصدار 2023.3.1 من التصحيح 1 وAGP 8.4.1 (مايو 2024)

يتضمّن هذا التحديث الثانوي إصلاحات الأخطاء هذه.

يتم تقليص أصناف المكتبة

اعتبارًا من الإصدار 8.4 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، إذا تم تقليص مشروع مكتبة Android، سيتم نشر أصناف البرامج المصغّرة للنشر بين المشاريع. هذا يعني أنّه إذا كان التطبيق يعتمد على الإصدار المصغّر من المشاريع الفرعية لمكتبة Android، ستتضمّن حِزمة APK أصناف مكتبة Android المصغّرة. قد تحتاج إلى تعديل قواعد الاحتفاظ بالمكتبة في حال عدم توفّر بعض الفئات في حزمة APK.

في حال إنشاء ملف AAR ونشره، سيتم تضمين ملفات JAR المحلية التي تعتمد عليها مكتبتك في ملف AAR بدون تقليص، ما يعني أنّ أداة تقليص الرموز لن تعمل عليها.

للرجوع إلى السلوك السابق، اضبط android.disableMinifyLocalDependenciesForLibraries في ملف gradle.properties وأبلِغ عن خطأ. ستزيل الإصدارات المستقبلية من المكوّن الإضافي لنظام Gradle المتوافق مع Android هذه العلامة.

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

الإصدار 8.4.2 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
يبدو أنّ الإصدار 8.4 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" يعطّل عمليات تنزيل GMD على نظام التكامل المستمر

الإصدار 8.4.1 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
السماح بإيقاف تحذير بشأن إيقاف JDK 21 دعم استهداف Java 8
أداة Dexer ‏ (D8)
‫java.lang.VerifyError: Verifier rejected class
خطأ في تحويل تنسيق الإصدار الجديد من R8 بعد التعتيم
قد لا تتضمّن الإصدارات الوسيطة محتوًى اصطناعيًا عالميًا كاملاً للنماذج الأولية

الإصدار 8.4.0 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
تحسين رسالة الخطأ التي توضح سبب تعذُّر استخدام الخيار ‎ `--release` في JavaCompile
إيقاف التخزين المؤقت لـ MergeSourceSetFolders باستخدام ‎@DoNotCacheByDefault
يتعذّر ضبط إصدار JaCoCo في الإصدار 8.2.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
‫DynamicFeatureBuildType لا يتضمّن isDebuggable
لا يتم نشر أصناف المكتبة المصغّرة بشكل صحيح للاستخدام بين المشاريع
توفير واجهة برمجة تطبيقات Variant#sources تستبعد الملفات التي تم إنشاؤها
لا تحتوي نماذج "المكوّن الإضافي لنظام Gradle المتوافق مع Android" على تبعيات مشروع java-platform
تُنشئ ExtractAarTransform ملف classes.jar غير قابل لإعادة الإنتاج لملفات AAR التي لا تحتوي على ملف classes.jar
السماح بإعداد sourceInformation من ComposeOptions
لا يمكن العثور على الحقل: sdk_runtime في الرسالة android.bundle.DeviceSpec
دعم compileOnlyApi
تعطُّل R8 في وحدة مكتبة عند إيقاف معالجة الموارد
إضافة إمكانية تغيير اسم العنصر أثناء التحويل
لا يؤدي إضافة ناتج المهمة إلى as srcDir من sourceSets.androidMain.resources إلى إنشاء تبعيات مهمة
‫AndroidPluginVersion.toString()‎ لا يتضمّن أصفارًا بادئة
يجب أن يكون Artifacts.add(FileSystemLocation) أكثر صرامةً.
يُنتج الإصدار 8.3.0-alpha11 من المكوّن الإضافي لنظام Gradle المتوافق مع Android حِزمة APK للإصدار تتعطّل عند بدء التشغيل بسبب android.content.res.Resources$NotFoundException
تعطُّل مهمة التثبيت في الإصدار 8.2.0 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" في مشروع يستخدم الميزات الديناميكية
تعطُّل تجميع AIDL بسبب IndexOutOfBoundsException: Index 0 out of bounds for length 0
مشكلة في معالجة الإدخالات المتزايدة في MergeJavaResourcesTask
يعتمد الإصدار 8.3.0-alpha02 من المكوّن الإضافي لنظام Gradle المتوافق مع Android على مكتبات تتضمّن ثغرات أمنية معروفة
يتطلب نموذج النشاط المحدّد مشروعًا يتضمّن تبعيات androidx.*
يزيل "مساعد ترقية المكوّن الإضافي لنظام Gradle المتوافق مع Android" بشكل غير صحيح consumerProguardFiles من الوحدة
تحميل "مساعد ترقية المكوّن الإضافي لنظام Gradle المتوافق مع Android" إلى ما لا نهاية
يجب ألا تعتمد SourceDirectories#static على مهمة GenerateBuildConfig
تعذُّر تحليل الأصناف من التبعية الانتقالية في معاينة Compose
تعطُّل مهمة zipApksFor في الإصدار 8.3 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
تغليف عناصر AndroidX Desktop في حزمة APK لنظام Android
أداة Lint
لا يسمح GradleModelMocker في إطار عمل اختبار Lint بضبط إصدار المكتبة
‫Lint K2 UAST: UCallableReferenceExpression يعرض qualifierType غير صحيح
نتيجة إيجابية خاطئة في Lint مع useK2Uast=true مع الدوال المحمّلة بشكل زائد
[BuildTool/Lint] خاصية أداة Lint ChecksSdkIntAtLeast
التكامل مع Lint
تعذُّر على أداة Lint إزالة الغموض عن اعتمادية KMP