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

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

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

Android Studio Jellyfish | تصحيح 2 للإصدار 2023.3.1 وAGP 8.4.2 (يونيو 2024)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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