الإصدار 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، وأصبح الحلّ متاحًا الآن في الإصدار 2 من حزمة تصحيح ‎2023.3.1 من الإصدار Jellyfish من "استوديو Android"‏ (2023.3.1.20).

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

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

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

بعد إبطال رموز الدخول، عليك إعداد المكوّن الإضافي مرة أخرى لكي تعمل جميع ميزات المكوّن الإضافي، بما في ذلك عمليات 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
السماح بإيقاف تحذير بشأن إيقاف الإصدار 21 من حزمة تطوير البرامج Java Development Kit (JDK) نهائيًا عن استهداف الإصدار 8 من Java
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 التي تستبعد الملفات التي تم إنشاؤها
لا تحتوي نماذج AGP على تبعيات مشاريع java-platform
تنشئ ExtractAarTransform ملفات classes.jar غير قابلة لإعادة الإنتاج لحِزم AAR التي لا تحتوي على ملفات classes.jar
السماح بإعداد sourceInformation من ComposeOptions
لا يمكن العثور على الحقل: sdk_runtime في الرسالة android.bundle.DeviceSpec
التوافق مع compileOnlyApi
تعذُّر تنفيذ R8 في وحدة مكتبة عند إيقاف معالجة الموارد
إضافة إمكانية تغيير اسم العنصر أثناء التحويل
لا تؤدي إضافة ناتج المهمة إلى 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.*
يزيل "مساعد ترقية AGP" ملفات 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] ChecksSdkIntAtLeast constructor property
دمج Lint
تعذُّر على أداة Lint إزالة الغموض عن تبعية KMP