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

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

التوافق

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

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

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

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

للاطّلاع على قائمة بالأخطاء التي تم إصلاحها في الإصدار 8.0.2 من "مكوّن Android الإضافي في Gradle"، راجِع المشاكل التي تم إغلاقها في الإصدار 2022.2.1 من "استوديو Android".

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

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

المشاكل التي تم إصلاحها
الخطأ: "No VersionRequirement with the given id in the table" بعد الترقية من الإصدار 7.2.2 إلى الإصدار 7.4.0 من "مكوّن Android الإضافي في Gradle"
R8 NullPointerException at markTypeAsLive AGP 7.4.1
[R8 4.0.53] تعذُّر التحقّق من الفئة الصعبة على Android 11

تغيير غير متوافق: يجب توفير مساحة الاسم في نص برمجة الإصدار على مستوى الوحدة

يجب ضبط مساحة الاسم في ملف build.gradle.kts على مستوى الوحدة، وليس في ملف البيان. يمكنك بدء استخدام السمة namespace DSL بدءًا من الإصدار 7.3 من "استوديو Android". لمزيد من المعلومات، يُرجى الاطّلاع على ضبط مساحة اسم.

عند نقل البيانات إلى لغة DSL الخاصة بـ "مساحة الاسم"، يُرجى الانتباه إلى المشاكل التالية:

  • تستنتج الإصدارات السابقة من "مكوّن Android الإضافي" مساحة الاسم التجريبية من مساحة الاسم الرئيسية أو معرّف التطبيق بشكل غير صحيح في بعض الحالات. يمنع "مساعد ترقية AGP" الترقية إذا تبيّن له أنّ مساحة الاسم الرئيسية ومساحة اسم الاختبار في مشروعك متطابقتان. في حال تم حظر الترقية، عليك تغيير testNamespace يدويًا وتعديل رمز المصدر وفقًا لذلك.
  • بعد تغيير مساحة الاسم الخاصة بالاختبار، من المحتمل أن يتم تجميع الرمز البرمجي، ولكن ستتعذّر الاختبارات المزوّدة بأدوات في وقت التشغيل. يمكن أن يحدث ذلك إذا كان رمز المصدر للاختبار المزوّد بأدوات القياس يشير إلى مورد محدّد في كل من androidTest ومصادر التطبيق.

لمزيد من المعلومات، يُرجى الاطّلاع على المشكلة رقم 191813691، التعليق رقم 19.

تغييرات غير متوافقة: القيم التلقائية لخيارات الإنشاء

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

إبلاغ القيمة التلقائية الجديدة القيمة التلقائية السابقة الملاحظات
android.defaults.buildfeatures.buildconfig false true لا ينشئ الإصدار 8.0 من "مكوّن Android الإضافي لبرنامج Gradle" BuildConfig تلقائيًا. عليك تحديد هذا الخيار باستخدام لغة DSL في المشاريع التي تحتاج إليه.
android.defaults.buildfeatures.aidl false true لا يفعّل الإصدار 8.0 من "مكوّن Android الإضافي في Gradle" إمكانية استخدام AIDL تلقائيًا. عليك تحديد هذا الخيار باستخدام لغة DSL في المشاريع التي تحتاج إليه. من المقرر إزالة هذا الخيار في الإصدار 9.0 من "مكوّن Android الإضافي لنظام Gradle".
android.defaults.buildfeatures.renderscript false true لا يتيح الإصدار 8.0 من "مكوّن Android الإضافي لبرنامج Gradle" استخدام RenderScript تلقائيًا. عليك تحديد هذا الخيار باستخدام لغة DSL في المشاريع التي تحتاج إليه. من المخطّط إزالة هذا الخيار في الإصدار 9.0 من "مكوّن Android الإضافي في Gradle".
android.nonFinalResIds true false يُنشئ الإصدار 8.0 من "مكوّن Android الإضافي لبرنامج Gradle" فئات R تتضمّن حقولاً غير نهائية تلقائيًا.
android.nonTransitiveRClass true false تنشئ الإصدار 8.0 من "مكوّن Android Gradle الإضافي" فئات R للموارد المحدّدة في الوحدة الحالية فقط.
android.enableR8.fullMode true false يتيح الإصدار 8.0 من "مكوّن Android الإضافي لبرنامج Gradle" تفعيل الوضع الكامل من R8 تلقائيًا. لمزيد من التفاصيل، يُرجى الاطّلاع على وضع R8 الكامل.

تغييرات قد تؤدي إلى عطل: فرض قيم خيار الإنشاء

اعتبارًا من الإصدار 8.0 من "مكوّن Android الإضافي لبرنامج Gradle"، لن تتمكّن بعد الآن من تغيير قيم هذه العلامات. إذا حدّدتها في ملف gradle.properties، سيتم تجاهل القيمة وستعرض AGP تحذيرات.

إبلاغ القيمة المفروضة الملاحظات
android.dependencyResolutionAtConfigurationTime.warn true يصدر الإصدار 8.0 من "مكوّن Android الإضافي في Gradle" تحذيرًا إذا رصد عملية تحديد إعدادات أثناء مرحلة الإعدادات، لأنّ ذلك يؤثّر سلبًا في أوقات إعداد Gradle.
android.r8.failOnMissingClasses true تعذُر إنشاء الإصدارات التي تستخدم R8 في الإصدار 8.0 من "مكوّن Android الإضافي في Gradle" إذا كانت هناك فئات غير متوفّرة، وذلك لضمان تحسين DEX بشكل أفضل. لحلّ هذه المشكلة، عليك إضافة المكتبات الناقصة أو -dontwarn قواعد الحفاظ على البيانات. لمزيد من التفاصيل، يُرجى الاطّلاع على تحذيرات بشأن الفئات غير المتوفّرة في أداة التصغير R8.
android.testConfig.useRelativePath true عند تفعيل إمكانية استخدام موارد Android ومواد العرض وبيانات البيان في اختبارات الوحدات، ينشئ الإصدار 8.0 من "مكوّن Android الإضافي" ملف test_config.properties يحتوي على مسارات نسبية فقط. يضمن ذلك أنّه يمكن لاختبارات الوحدة على Android استخدام ذاكرة التخزين المؤقت لإنشاء Gradle دائمًا.
android.useNewJarCreator true يستخدم AGP مكتبة Zipflinger عند إنشاء ملفات JAR لتحسين أداء عملية الإنشاء.
android.bundletool.includeRepositoriesInDependencyReport true عند تفعيل خيار إضافة معلومات العناصر الاعتمادية لحزمة تطوير البرامج (SDK) في حِزم AAB وملفات APK، يضيف الإصدار 8.0 من "مكوّن Android الإضافي في Gradle" أيضًا قائمة بمستودعات المشاريع إلى هذه المعلومات. لمزيد من المعلومات، يُرجى الاطّلاع على معلومات التبعية في Play Console.
android.enableArtProfiles true يتم الآن إنشاء ملفات تعريف الأداء الأساسية دائمًا. لمزيد من التفاصيل، راجِع ملفات Baseline Profile.
android.enableNewResourceShrinker true استخدام آلية تنفيذ أداة تصغير حجم الموارد الجديدة تلقائيًا يتيح برنامج تصغير حجم الموارد الجديد استخدام الميزات الديناميكية.
android.enableSourceSetPathsMap true تُستخدَم لحساب عمليات ربط مسارات الموارد النسبية، وبالتالي تكون إصدارات Gradle محدَّثة بشكل أكبر.
android.cacheCompileLibResources true يمكن الآن تخزين موارد المكتبة المجمَّعة مؤقتًا تلقائيًا لأنّ Gradle يتتبّع ملفات الموارد بالنسبة إلى موقع المشروع. يجب تفعيل تطبيق "android.enableSourceSetPathsMap".
android.disableAutomaticComponentCreation true لا ينشئ الإصدار 8.0 من "مكوّن Android الإضافي" أي SoftwareComponent تلقائيًا. بدلاً من ذلك، ينشئ AGP SoftwareComponents فقط للمتغيرات التي تم ضبطها ليتم نشرها باستخدام لغة DSL الخاصة بالنشر.

علامة ثابتة جديدة لملف التنفيذ

يتضمّن AGP العلامة الجديدة android.settings.executionProfile. استخدِم هذه العلامة لتجاوز ملف التنفيذ التلقائي من SettingsExtension. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات إضافة الإعدادات.

لمعاينة العلامات التجريبية، اطّلِع على ملاحظات إصدار المعاينة.

لا يمكن تعيين قيمة لسمة Kotlin الكسولة

إذا كنت تستخدم Kotlin DSL في Gradle لبرامج النصوص الخاصة بالإنشاء، يُرجى العِلم أنّ Android Studio وAGP 8.0 لا يتيحان تعيين القيم التجريبية باستخدام عامل التشغيل =. لمزيد من المعلومات حول هذه الميزة، يُرجى الاطّلاع على ملاحظات الإصدار والمستندات.

فئات مهام "أداة تحليل الإصدار"

بدءًا من الإصدار Flamingo من "استوديو Android"، تتضمّن "أداة تحليل عمليات الإنشاء" عرضًا تلقائيًا جديدًا للمهام التي تؤثّر في مدة الإنشاء. إذا كان مشروعك يستخدم الإصدار 8.0 أو إصدارًا أحدث من AGP، سيصنّف "أداة تحليل الإصدار" المهام حسب الفئة بدلاً من عرضها بشكل فردي. على سبيل المثال، يتم تجميع المهام الخاصة بموارد Android أو Kotlin أو Dexing معًا، ثم يتم ترتيبها حسب مدة الإنشاء. يسهّل ذلك معرفة الفئة التي لها التأثير الأكبر في وقت الإنشاء. يؤدي توسيع كل فئة إلى عرض قائمة بالمهام ذات الصلة. لعرض المهام بشكل فردي، بدون تجميع، استخدِم القائمة المنسدلة التجميع حسب.

فئات مهام "أداة تحليل الإصدار"

مكوّن إضافي جديد للإعدادات

يقدّم الإصدار 8.0.0-alpha09 من "مكوّن Android الإضافي لبرنامج Gradle" مكوّنًا إضافيًا جديدًا للإعدادات. تتيح لك إضافة الإعدادات تجميع الإعدادات العامة، أي الإعدادات التي تنطبق على جميع الوحدات، في مكان واحد، ما يغنيك عن نسخ الإعدادات ولصقها في وحدات متعددة. بالإضافة إلى ذلك، يمكنك استخدام مكوّن الإعدادات الإضافي لإنشاء ملفات تنفيذ الأدوات أو تعليمات مختلفة حول كيفية تشغيل أداة، والتبديل بينها.

لاستخدام مكوّن الإعدادات الإضافي، طبِّق المكوّن الإضافي في ملف settings.gradle:

apply plugin 'com.android.settings'

تجميع الإعدادات العامة

لضبط الإعدادات العامة، استخدِم الحظر الجديد android في ملف settings.gradle. وفي ما يلي مثال لذلك:

android {
  compileSdk 31
  minSdk 28
  ...
}

ملفات تنفيذ الأدوات

يتيح لك مكوّن إضافي للإعدادات أيضًا إنشاء ملفات تنفيذ لبعض الأدوات. يحدّد ملف التنفيذ طريقة تشغيل الأداة، ويمكنك اختيار ملفات تنفيذ مختلفة حسب البيئة. في ملف تعريف التنفيذ، يمكنك ضبط وسيطات JVM لأداة ما وإعدادها ليتم تشغيلها في عملية منفصلة. في الوقت الحالي، لا تتوفّر سوى أداة R8.

أنشئ ملفات تعريف التنفيذ واضبط ملف تعريف التنفيذ التلقائي في الملف settings.gradle، كما هو موضّح في المثال التالي:

android {
  execution {
    profiles {
      high {
        r8 {
          jvmOptions += ["-Xms2048m", "-Xmx8192m", "-XX:+HeapDumpOnOutOfMemoryError"]
          runInSeparateProcess true
        }
      }
      low {
        r8 {
          jvmOptions += ["-Xms256m", "-Xmx2048m", "-XX:+HeapDumpOnOutOfMemoryError"]
          runInSeparateProcess true
        }
      }
      ci {
        r8.runInSeparateProcess false
      }
    }
    defaultProfile "low"
  }
}

لإلغاء الملف الشخصي التلقائي، اختَر ملفًا شخصيًا مختلفًا باستخدام السمة android.experimental.settings.executionProfile في الملف gradle.properties:

android.experimental.settings.executionProfile=high

يمكنك أيضًا ضبط هذه السمة باستخدام سطر الأوامر، ما يتيح لك إعداد سير عمل مختلفة. على سبيل المثال، إذا كان لديك سير عمل تكامل مستمر، يمكنك استخدام سطر الأوامر لتغيير ملف التنفيذ بدون الحاجة إلى تغيير ملف settings.gradle:

./gradlew assembleRelease \
  -Pandroid.experimental.settings.executionProfile=ci

يجب استخدام JDK 17 لتشغيل الإصدار 8.0 من "مكوّن Android الإضافي لنظام Gradle"

عند استخدام الإصدار 8.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android لإنشاء تطبيقك، يجب الآن استخدام الإصدار 17 من JDK لتشغيل Gradle. تتضمّن حزمة Android Studio Flamingo الإصدار 17 من حزمة تطوير البرامج Java (JDK) وتضبط Gradle لاستخدامها تلقائيًا، ما يعني أنّه لن يحتاج معظم مستخدمي Android Studio إلى إجراء أي تغييرات في إعدادات مشاريعهم.

إذا كنت بحاجة إلى ضبط إصدار JDK المستخدَم من قِبل AGP يدويًا داخل "استوديو Android"، عليك استخدام الإصدار 17 من JDK أو إصدار أحدث.

عند استخدام AGP بشكل مستقل عن "استوديو Android"، يمكنك ترقية إصدار JDK من خلال ضبط JAVA_HOME متغير البيئة أو -Dorg.gradle.java.home خيار سطر الأوامر إلى دليل تثبيت JDK 17.

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

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

المشاكل التي تم إصلاحها
المكوّن الإضافي لنظام Gradle المتوافق مع Android
تعذُّر إنشاء إصدار غير مستقر في مهمة MergeResources
تم إيقاف JavaPluginConvention وHasConvention نهائيًا
موقع ملف غير صحيح وغير متسق لواجهة برمجة التطبيقات الجديدة لتحويل البيانات
يجب ألا يستخدم المكوّن الإضافي Android Gradle الدالة المتوقّفة نهائيًا GUtil.toWords(string)
يجب ألا يستخدم مكوّن Android Gradle الإضافي الدالة المتوقّفة نهائيًا ConfigureUtil.configure(closure, target)
تعديل اختبارات "مكوّن Android Gradle الإضافي" لاستخدام الإصدار التجريبي 1.7.20 من "مكوّن Kotlin Gradle الإضافي"
تعذُّر Gradle 7.4 (تعذّر إنشاء مثيل من AnalyticsService)
خطأ جديد "unknown enum constant" من javac في الإصدار 7.4.0-alpha09 من "مكوّن Android الإضافي Gradle"
عملية ضبط MergeGeneratedProguardFilesCreationAction بطيئة حتى مع تفعيل التخزين المؤقت للإعدادات
[AGP] إضافة دليل المصدر الذي تم إنشاؤه إلى نموذج بيئة التطوير المتكاملة (Variant API)
تم إيقاف JavaPluginConvention وHasConvention نهائيًا
عدم إضافة ignorewarnings إلى R8 تلقائيًا
إظهار تحذير عند عدم توفّر ملفات Proguard
الإصدار 7.3.0 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" يؤدي إلى تعذُّر مزامنة Gradle لمشاريع منصة Gradle
تم وضع علامة "خاص" على الدالة apksig library: ApkVerifier$Result.getV4SchemeSigners()
إيقاف إنشاء إعداد androidJacocoAnt إذا لم يتم تفعيل التغطية
لا يؤدي استخدام ‎ @IntDef في أحد مكونات المكتبة إلى إنشاء ملف annotations.zip في ملف aar
تعذّر العثور على نوع فائق مشترك لكل من و
إضافة إصدار سمة gradle من LINT_PRINT_STACKTRACE=true
تضمين عناصر نموذجية قديمة في حِزم AAR
نقل البيانات من الموقع الوجهة إلى الموقع outputLocation لتجنُّب تحذير الإيقاف النهائي والاستعداد لاستخدام Gradle 9.0
أخذ العلامة ‎ `--release` ‎ في الاعتبار عند إعداد مهمة JavaCompile
[AGP-7.3.0-beta03] تعذُّر تنفيذ ShrinkResourcesNewShrinkerTask عند توفّر سطر فارغ بعد إعلان XML
يتم تشغيل هدف lintVital تلقائيًا في صيغة تصحيح الأخطاء
إظهار تحذير عند عدم توفّر ملفات Proguard
يحاول AGP إضافة kotlinOptions.freeCompilerArgs في مرحلة تنفيذ المهمة
تعذُّر مزامنة Gradle: تعذُّر المزامنة: السبب غير معروف
‫DependencyReportTask غير متوافق مع ذاكرة التخزين المؤقت للإعدادات
يؤدي تجاهل الموارد باستخدام resValue في ملف build.gradle إلى ظهور الخطأ: "موارد مكرّرة"
يحتوي نوع الإصدار "debug" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على مفتاح توقيع تلقائي
استخدام الميزات الديناميكية وتقليص الموارد يؤدي إلى حدوث عُطل أثناء التشغيل
يحتوي نوع الإصدار "debug" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على مفتاح توقيع تلقائي
دليل المصدر الذي تم إنشاؤه والمدرَج كدليل Java في موفّر المصدر الرئيسي لنموذج lint
الإصدار 8.0-milestone-2 من Gradle يتسبّب في حدوث استثناء في "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
تحسين دمج ملف البيان للتطبيقات والمكتبات
إضافة gradle-settings-api إلى إنشاء Javadoc
خطأ جديد "unknown enum constant" من javac في الإصدار 7.4.0-alpha09 من "مكوّن Android الإضافي Gradle"
الإصدار 7.4.0-alpha09 من "مكوّن Android الإضافي في Gradle" ينشئ إصدارات لا يمكن تحميلها إلى Firebase App Distribution
لا يتم أخذ ملف lint.xml في الوحدات في الاعتبار عند التحقّق من حالة "محدّث" لمهام Lint
المكوّن الإضافي لنظام Gradle المتوافق مع Android 7.0 والإصدارات الأحدث ومشاكل اختبارات Android: يتعذّر العثور على المورد: id
تعطُّل configureCMakeDebug بشكل متقطع بسبب استثناء المؤشر الفارغ
IllegalAccessError upgrading project to AS2022.2.1.5, FireBasePerfPlugin
تتعذّر المزامنة ويظهر الخطأ الغامض "لا تحتوي المجموعة على أي عنصر يطابق الشرط".
لا تحوّل واجهة برمجة التطبيقات Instrumentation تبعيات الملفات المحلية
حدث الخطأ `AnnotationProcessorOptions.arguments are queried` عند التحديث إلى الإصدار 7.4 من الإصدار التجريبي 1
نقل المكوّنات الإضافية العامة لنظام Gradle إلى gradle-api وإزالة BasePlugin.getExtension
لا يتم استخدام r8.jvmArgs
الإصدار 17 من JDK هو الحد الأدنى المطلوب من أجل AGP
الإصدار 8.0.0 من "مكوّن Android الإضافي لبرنامج Gradle" (A8) يعطّل ملفات تعريف خط الأساس
تغيير compileSdkVersion إلى compileSdk في رسالة CheckAarMetadataTask في الإصدار 8.0 من "مكوّن Android الإضافي"
يتسبّب الإصدار 7.4.0-rc01 من "مكوّن Android الإضافي Gradle" في تعطيل Variant API بسبب ظهور الخطأ "Querying the mapped value of map(provider(java.util.Set)) before task '...' has completed is not supported"
مشاكل في `com.android.build.gradle.tasks.ShaderCompile` مع ذاكرة التخزين المؤقت للإعداد
إضافة إلى موارد Java باستخدام واجهات برمجة تطبيقات AGP يؤدي إلى تعطيل ميزة "ذاكرة التخزين المؤقت للإعداد"
المكوّن الإضافي Lint ليس جزءًا من gradle-api
‫DexingFileDependenciesTask.outputKeepRules هو دليل ولكن تم وضع علامة عليه كملف إخراج
تؤدي الترقية إلى الإصدار 7.4 من "مكوّن Android الإضافي في Gradle" إلى حدوث خطأ StackOverflowError
تعذُّر تنفيذ عملية processDebugUnitTestManifest بسبب العناصر النائبة للبيان في صيغ الاختبار
تصل أداة Lint إلى معلومات مجموعات المصادر بدون تبعيات
يشير خطأ التصميم إلى المستوى 34 لواجهة برمجة التطبيقات، وهو مستوى غير متوفّر
"ننصحك باستخدام إصدار أحدث من مكوّن Android Gradle الإضافي" عندما لا يتوفّر إصدار أحدث
android.injected.testOnly=false لا يعمل
Dexer (D8)
خطأ في دمج Dex مرتبط بالبيانات الاصطناعية العامة بعد ترقية الإصدار 6 من Android Studio Canary إلى الإصدار 7
تعديل مكتبة البيانات الوصفية للغة Kotlin إلى الإصدار 0.6.0
يبدو أنّ هناك حاجة إلى حلّ بديل للخطأ JDK-8272564 على مستويات واجهة برمجة التطبيقات من 28 إلى 30
Lint
لا يعمل فحص ResourceType lint لمصادر Kotlin
لا تعالج VersionChecks عمليات التحقّق من نطاق Kotlin
نتيجة إيجابية خاطئة لـ InlinedApi عند تضمينها
Lint false positive Recycle بشأن openInputStream
‫[BuildTool/Lint] ChecksSdkIntAtLeast سمة الدالة الإنشائية
Lint: دمج PartialResults يعمل بشكل غير صحيح
يضع Android Studio علامة غير صحيحة على الإصدار المحدّد تشير إلى أنّه قديم.
لا يتم تسجيل نقطة الإضافة AndroidDeprecationInspection.DeprecationFilter EP مطلقًا في ملف android-plugin.xml
شرح فحص AccessibilityDetector lint قديم
يجب أن تفهم عمليات التحقّق من Lint SDK_INT المتغيّرات المحلية المؤقتة
حدث خطأ عند استبدال نوع الدالة بنوع الاسم المستعار في TestMode.TYPE_ALIAS
خطأ: عند إنشاء ObjectAnimator خارج كتلة الرمز البرمجي الحالية، تظهر تحذيرات إيجابية خاطئة بعدم بدء تشغيلها #38
Lint: NPE due to querying Application instance in mergeOnly mode
لا يمكن لقاعدة NonConstantResourceId Lint اكتشاف القيم الثابتة من رقم تعريف المورد
عدم ظهور الخطأ في معرّف الملف الشخصي
يؤدي تعذُّر إلغاء تسلسل نتائج ذاكرة التخزين المؤقت لموارد Lint إلى حدوث خطأ في Lint (ولكن من المفترض أن يكون تحذيرًا).
AGP Flamingo Alpha 8 Lint NewApi Desugar Regression
لم يتم إلغاء تحويل TypedArray#close (المستوى 31 لواجهة برمجة التطبيقات)، ولكن لا يعرض "استوديو Android" تحذيرًا عند استخدامه في try-with-resources
لا يتحقّق Lint من عمليات التحويل الصالحة لمستقبِلات المكالمات
لا يتحقّق Lint إلا من عمليات التحويل الآمنة للواجهات التي تم تنفيذها مباشرةً، وليس الواجهات الموروثة.
دمج Lint
ملف الأساس هو حاليًا إدخال وإخراج لمهام Lint
Shrinker (R8)
خطأ NPE / assertion في أداة التحقّق من إطارات CF
تراجع الأداء بعد إزالة ذاكرة التخزين المؤقت للبحث عن الحقول
يؤدي تنفيذ `:app:minifyVariantWithR8` إلى عرض NullPointerException في الإصدار 7.4.0-beta02 من "مكوّن Android الإضافي لنظام Gradle"
R8: ClassNotFoundException عند استخدام الخيار ‎-allowaccessmodification
إتاحة استخدام أدوات استقبال السياق في البيانات الوصفية
java.lang.VerifyError: Verifier rejected class androidx.compose.ui.graphics.colorspace.o: void androidx.compose.ui.graphics.colorspace.o.(java.lang.Object) failed to verify: void androidx.compose.ui.graphics.colorspace.o.(java.lang.Object): [0x0] cannot access instance field java.lang.Object androidx.compose.ui.graphics.colorspace.n.a from object of type Precise Reference: androidx.compose.ui.graphics.colorspace.o
‫AGP 7.4.0/7.3.1 - محاولة إضافة إجراء إلى قائمة عمل غير قابلة للإضافة
تصغير رمز Renderscript: انخفاض كبير في الأداء عند ترقية "مكوّن Android الإضافي في Gradle" من الإصدار 7.3.1 إلى الإصدار 7.4.0

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

المشاكل التي تم إصلاحها
Shrinker (R8)
الخطأ: "No VersionRequirement with the given id in the table" بعد الترقية من الإصدار 7.2.2 إلى الإصدار 7.4.0 من "مكوّن Android الإضافي في Gradle"
R8 NullPointerException at markTypeAsLive AGP 7.4.1
[R8 4.0.53] تعذُّر التحقّق من الفئة الصعبة على Android 11

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

المشاكل التي تم إصلاحها
Shrinker (R8)
تعذُّر إنشاء Compose باستخدام R8 بسبب ArrayIndexOutOfBoundsException
VerifyError: رفض أداة التحقّق للفئة عند استخدام R8 مع Kotlin 1.8.20
تعطُّل خدمة Google Fit عند استخدام الإصدار R8 من "حزمة تطوير البرامج لنظام التشغيل Android" 8
لا يتم عرض معلومات الملف المصدر التي تتضمّن أسماء متبقية تتداخل مع أسماء الإدخال بشكل صحيح