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

الإصدارات التصحيحية

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

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

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

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

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

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

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

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

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

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

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

تغييرات قد تؤدي إلى أعطال: القيم التلقائية لخيارات الإصدار

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

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

تغييرات قد تؤدي إلى أعطال: قيم خيارات الإصدارات المفروضة

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

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

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

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

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

لا يمكن استخدام ميزة Kotlin lazy property assignment

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

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

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

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

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

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

لاستخدام المكوّن الإضافي للإعدادات، طبِّق المكوّن الإضافي في ملف 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

مجموعة تطوير Java‏ (JDK) الإصدار 17 مطلوبة لتشغيل الإصدار 8.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android

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

إذا كنت بحاجة إلى ضبط إصدار حزمة تطوير Java يدويًا الذي يستخدمه "مكوّن Android الإضافي لبرنامج Gradle" داخل "استوديو Android"، عليك استخدام الإصدار 17 من حزمة تطوير Java أو إصدار أحدث.

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

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

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

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

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

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

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

المشاكل التي تم حلّها
مكوّن إضافي لنظام Gradle المتوافق مع Android
تعذُّر إنشاء الإصدار بشكل متقطّع في مهمة MergeResources
تم إيقاف JavaPluginConvention وHasConvention نهائيًا
موقع الملف غير صحيح وغير متسق لواجهة برمجة التطبيقات الجديدة للتحويل
يجب ألا يستخدم المكوّن الإضافي لنظام Gradle المتوافق مع Android دالة GUtil.toWords(string) المتوقّفة نهائيًا
يجب ألا يستخدم المكوّن الإضافي لنظام Gradle المتوافق مع Android دالة ConfigureUtil.configure(closure, target) المتوقّفة نهائيًا
تعديل اختبارات AGP لاستخدام الإصدار التجريبي 1.7.20 من KGP
تعذُّر تشغيل Gradle 7.4 (تعذّر إنشاء مثيل من AnalyticsService)
ظهور رسالة خطأ جديدة "ثابت تعداد غير معروف" من javac في الإصدار ‎7.4.0-alpha09 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
إعداد MergeGeneratedProguardFilesCreationAction بطيء حتى مع تفعيل ميزة "التخزين المؤقت للإعدادات"
‫[AGP] إضافة دليل ملفات المصدر الذي تم إنشاؤه إلى نموذج IDE (واجهة برمجة تطبيقات Variant)
تم إيقاف JavaPluginConvention وHasConvention نهائيًا
عدم إضافة ignorewarnings إلى R8 تلقائيًا
التحذير في حال عدم توفّر ملفات proguard
تعطُّل مزامنة Gradle لمشاريع منصة Gradle في الإصدار 7.3.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
مكتبة apksig: تم وضع علامة "خاص" على ApkVerifier$Result.getV4SchemeSigners()‎
إيقاف إنشاء إعدادات androidJacocoAnt في حال عدم تفعيل التغطية
لا يؤدي استخدام ‎ @IntDef في مكوّن مكتبة إلى إنشاء ملف annotations.zip في ملف aar
يتعذّر العثور على نوع فائق شائع لكل من و
أضِف إصدارًا من سمة gradle لـ LINT_PRINT_STACKTRACE=true
يتم تجميع عناصر prefab القديمة في ملفات AAR
يجب الانتقال من السمة destination إلى السمة outputLocation لمعالجة تحذير الإيقاف النهائي والاستعداد للإصدار 9.0 من Gradle
مراعاة علامة `--release` عند إعداد مهمة JavaCompile
[AGP-7.3.0-beta03] تعذّر تنفيذ ShrinkResourcesNewShrinkerTask عند وجود سطر فارغ بعد إعلان XML
يتم تشغيل هدف lintVital تلقائيًا في صيغة تصحيح الأخطاء
التحذير في حال عدم توفّر ملفات proguard
يحاول المكوّن الإضافي لنظام Gradle المتوافق مع Android إضافة kotlinOptions.freeCompilerArgs في مرحلة تنفيذ المهمة
تعذّرت مزامنة Gradle: تعذّرت المزامنة: السبب غير معروف
‫DependencyReportTask غير متوافق مع ذاكرة التخزين المؤقت للإعدادات
يؤدي إلغاء الموارد باستخدام resValue في build.gradle إلى ظهور الخطأ: موارد مكرّرة
يحتوي نوع الإصدار "debug" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على ذلك
استخدام الميزات الديناميكية وتقليص الموارد يؤدي إلى تعطُّل التطبيق أثناء التشغيل
يحتوي نوع الإصدار "debug" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على ذلك
تم إدراج دليل ملفات المصدر الذي تم إنشاؤه كدليل Java في موفّر المصدر الرئيسي لنموذج lint
يؤدي الإصدار 8.0-milestone-2 من Gradle إلى حدوث استثناء في "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
تحسين دمج ملفات البيان للتطبيقات والمكتبات
إضافة gradle-settings-api إلى إنشاء javadoc
ظهور رسالة خطأ جديدة "ثابت تعداد غير معروف" من javac في الإصدار ‎7.4.0-alpha09 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
ينشئ الإصدار 7.4.0-alpha09 من المكوّن الإضافي لنظام Gradle المتوافق مع Android إصدارات لا يمكن تحميلها إلى Firebase App Distribution
لا يتم أخذ ملف lint.xml في الوحدات في الاعتبار عند التحقّق من تحديث مهام lint
مشكلة في الإصدار 7.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android والإصدارات الأحدث واختبارات Android: لا يمكن العثور على المورد: رقم التعريف
تعطُّل configureCMakeDebug بشكل متقطّع مع استثناء المؤشر الفارغ
خطأ IllegalAccessError عند ترقية المشروع إلى AS2022.2.1.5، FireBasePerfPlugin
تعذُّر المزامنة مع ظهور رسالة الخطأ المبهمة "لا تحتوي المجموعة على أي عنصر يطابق المسند".
لا تحوّل واجهة برمجة التطبيقات Instrumentation API تبعيات الملفات المحلية
ظهور الخطأ "يتم الاستعلام عن AnnotationProcessorOptions.arguments" عند التحديث إلى الإصدار التجريبي 1 من 7.4
نقل المكوّنات الإضافية العامة في Gradle إلى gradle-api وإزالة BasePlugin.getExtension
لا يتم استخدام r8.jvmArgs
‫JDK17 هو الحد الأدنى للإصدار المطلوب من أجل AGP
الإصدار 8.0.0 A8 من المكوّن الإضافي لنظام Gradle المتوافق مع Android يؤدي إلى تعطُّل ملفات Baseline Profiles
تغيير compileSdkVersion إلى compileSdk في رسالة CheckAarMetadataTask في الإصدار 8.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
يؤدي الإصدار AGP 7.4.0-rc01 إلى تعطُّل Variant API مع ظهور رسالة الخطأ "Querying the mapped value of map(provider(java.util.Set)) before task '...' has completed is not supported" (الاستعلام عن القيمة التي تم ربطها في map(provider(java.util.Set)) قبل اكتمال المهمة "..." غير متاح)
مشاكل `com.android.build.gradle.tasks.ShaderCompile` في ذاكرة التخزين المؤقت للإعدادات
تؤدي الإضافة إلى موارد Java باستخدام واجهات برمجة تطبيقات AGP إلى تعطُّل ذاكرة التخزين المؤقت للإعدادات
المكوّن الإضافي Lint ليس جزءًا من gradle-api
‫DexingFileDependenciesTask.outputKeepRules هو دليل ولكن تم تصنيفه على أنّه OutputFile
تؤدي الترقية إلى الإصدار 7.4 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" إلى حدوث خطأ StackOverflowError
تعذُّر تنفيذ processDebugUnitTestManifest مع العناصر النائبة في ملف البيان لخيارات الاختبار
وصول Lint إلى معلومات مجموعات رموز المصدر بدون تبعيات
يشير خطأ الإصدار إلى المستوى 34 من واجهة برمجة التطبيقات، وهو غير متوفّر
ظهور رسالة "ننصحك باستخدام مكوّن إضافي لنظام Gradle المتوافق مع Android أحدث" في حال عدم توفّر مكوّن أحدث
‫android.injected.testOnly=false لا تعمل
Dexer (D8)
خطأ في دمج Dex مرتبط بالملفات الاصطناعية العامة بعد ترقية AS Canary 6 إلى 7
تحديث مكتبة البيانات الوصفية في Kotlin إلى الإصدار 0.6.0
يبدو أنّ الحل البديل لـ JDK-8272564 مطلوب في مستوى واجهة برمجة التطبيقات 28-30
Lint
لا يعمل فحص الأخطاء في ResourceType لمصادر kotlin
لا تعالج VersionChecks عمليات التحقّق من النطاق في Kotlin
نتيجة موجبة خاطئة لـ InlinedApi عند التفافها
Lint false positive Recycle regarding openInputStream
[BuildTool/Lint] ChecksSdkIntAtLeast constructor property
Lint: PartialResults merging works incorrectly
يضع "استوديو Android" علامة على الإصدار المحدّد تشير إلى أنّه قديم بشكل غير صحيح.
لم يتم تسجيل AndroidDeprecationInspection.DeprecationFilter EP في ملف android-plugin.xml
تفسير فحص AccessibilityDetector lint قديم
يجب أن تفهم عمليات التحقّق من Lint SDK_INT المتغيّرات المحلية المؤقتة
حدث خطأ عندما استبدل TestMode.TYPE_ALIAS نوع الدالة بـ typealias
خطأ: عند إنشاء ObjectAnimator خارج مجموعة الرموز البرمجية الحالية، تظهر تحذيرات موجبة خاطئة بعدم بدء تشغيله #38
Lint: NPE due to querying Application instance in mergeOnly mode
لا يمكن لقاعدة NonConstantResourceId lint رصد تعيين قيم ثابتة من معرّف المورد
not showing error on view id
يؤدي تعذُّر إلغاء تسلسل ذاكرة التخزين المؤقت لموارد lint إلى حدوث خطأ lint (ولكن يجب أن يكون تحذيرًا)
تراجع في Desugar NewApi Lint في الإصدار AGP Flamingo Alpha 8
لا تتم إزالة التجميل اللغوي من TypedArray#close (واجهة برمجة التطبيقات 31)، ولكن لا يعرض AS تحذيرًا عند استخدامه في try-with-resources
لا تتحقّق أداة Lint من عمليات التحويل الصالحة لمستلِمي المكالمات
تتحقّق أداة Lint من عمليات التحويل الآمنة للواجهات التي تم تنفيذها مباشرةً، وليس الواجهات المكتسَبة
دمج Lint
ملف Baseline هو حاليًا أحد مدخلات ومخرجات مهام Lint
Shrinker (R8)
NPE / assertion error in CF frame verifier
تراجع بعد إزالة ذاكرة التخزين المؤقت لعمليات البحث في الحقول
يؤدي `:app:minifyVariantWithR8` إلى ظهور NullPointerException في الإصدار 7.4.0-beta02 من "مكوّن Gradle الإضافي لنظام التشغيل Android"
‫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
الإصدار 7.4.0/7.3.1 من "مكوّن Android الإضافي لبرنامج Gradle" - محاولة إضافة إجراء إلى قائمة انتظار غير قابلة للإضافة
تصغير رمز Renderscript: انخفاض كبير في الأداء عند ترقية المكوّن الإضافي لنظام Gradle المتوافق مع Android من الإصدار 7.3.1 إلى الإصدار 7.4.0