الإصدار 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 IDE Integration.
  • لإبطال إذن الوصول إلى الرموز المميزة للوصول الشخصي، انتقِل إلى رموز الوصول الشخصي واحذف الرمز المميز الصادر لمكوّن 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.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: الفهرس 0 خارج الحدود للطول 0
مشكلة في معالجة المدخلات المتزايدة في MergeJavaResourcesTask
يعتمد الإصدار 8.3.0-alpha02 من المكوّن الإضافي لنظام Gradle المتوافق مع Android على مكتبات تتضمّن ثغرات أمنية معروفة
يتطلّب نموذج النشاط المحدّد مشروعًا يتضمّن تبعيات androidx.*
يزيل "مساعد ترقية AGP" ملف consumerProguardFiles من الوحدة بشكل خاطئ
تحميل أداة ترقية AGP بلا نهاية
يجب ألا يعتمد SourceDirectories#static على مهمة GenerateBuildConfig
تعذُّر تحليل الأصناف من التبعية الانتقالية في معاينة Compose
تعطُّل مهمة zipApksFor في الإصدار 8.3 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
عناصر 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 من حزمة تطوير البرامج Java‏ (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