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

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

التوافق

الحدّ الأقصى لمستوى واجهة برمجة التطبيقات الذي يتوافق معه الإصدار 8.4 من "مكوّن Android الإضافي في Gradle" هو المستوى 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.

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

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

الإصدار Jellyfish من "استوديو Android" | الإصدار 2 من تصحيح 2023.3.1 والإصدار 8.4.2 من "مكوّن Android الإضافي لبرنامج Gradle" (يونيو 2024)

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

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

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

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

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

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

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

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

الإصدار Android Studio Jellyfish | 2023.3.1 Patch 1 وAGP 8.4.1 (مايو 2024)

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

يتم تصغير صفوف المكتبة

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

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

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

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

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

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
تحسين رسالة الخطأ التي توضّح سبب عدم إمكانية استخدام الخيار ‎--release مع JavaCompile
إيقاف التخزين المؤقت لـ MergeSourceSetFolders باستخدام @DoNotCacheByDefault
يتعذّر ضبط إصدار JaCoCo في الإصدار 8.2.0 من "مكوّن Android الإضافي في Gradle"
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 من "مكوّن Android Gradle الإضافي" حِزمة APK للإصدار تتعطّل عند بدء التشغيل بسبب android.content.res.Resources$NotFoundException
تعذُّر تنفيذ مهمة تثبيت الإصدار 8.2.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android في مشروع يستخدم ميزات ديناميكية
تعذُّر تجميع AIDL بسبب IndexOutOfBoundsException: الفهرس 0 خارج الحدود للطول 0
مشكلة في معالجة المدخلات المتزايدة في MergeJavaResourcesTask
يعتمد الإصدار 8.3.0-alpha02 من "مكوّن Android الإضافي في Gradle" على مكتبات تتضمّن ثغرات أمنية معروفة
يتطلّب نموذج النشاط المحدّد مشروعًا يتضمّن تبعيات androidx.*
يزيل "مساعد ترقية AGP" ملف consumerProguardFiles من الوحدة بشكل خاطئ
تحميل أداة ترقية AGP بلا نهاية
يجب ألا يعتمد SourceDirectories#static على مهمة GenerateBuildConfig
تعذُّر تحليل الصفوف من التبعية المتعدية في معاينة Compose
تعطُّل مهمة zipApksFor في الإصدار 8.3 من "مكوّن Android الإضافي في Gradle"
عناصر AndroidX Desktop المضمَّنة في حزمة APK لنظام Android
Lint
لا يسمح GradleModelMocker في إطار عمل اختبار Lint بتحديد إصدار المكتبة
Lint K2 UAST: تعرض UCallableReferenceExpression نوع المؤهّل غير الصحيح
نتيجة إيجابية خاطئة في Lint عند استخدام useK2Uast=true مع دوال محمّلة بشكل زائد
‫[BuildTool/Lint] ChecksSdkIntAtLeast سمة الدالة الإنشائية
دمج Lint
تعذُّر على أداة Lint إزالة الغموض عن تبعية KMP

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

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

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

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