الإصدار 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 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، راجِع المشاكل التي تم إغلاقها في الإصدار 2022.2.1 من "استوديو Android".

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

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

المشاكل التي تم إصلاحها
Error: "No VersionRequirement with the given id in the table" after upgrading AGP 7.2.2 -> 7.4.0
R8 NullPointerException at markTypeAsLive AGP 7.4.1
[R8 4.0.53] تعذُّر التحقّق من الفئة الصعبة على Android 11

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

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

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

  • تستنتج الإصدارات السابقة من "مكوّن Android الإضافي في Gradle" مساحة الاسم التجريبية من مساحة الاسم الرئيسية أو معرّف التطبيق بشكل غير صحيح في بعض الحالات. يمنع "مساعد ترقية 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 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android".
android.defaults.buildfeatures.renderscript false true لا يفعّل الإصدار 8.0 من "مكوّن Android الإضافي في Gradle" ميزة 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 من "مكوّن Android الإضافي لبرنامج Gradle"، لن تتمكّن بعد الآن من تغيير قيم هذه العلامات. إذا حدّدتها في ملف gradle.properties، سيتم تجاهل القيمة وستعرض AGP تحذيرات.

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

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

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

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

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

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

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

بدءًا من Android Studio Flamingo، تتضمّن "أداة تحليل عمليات الإنشاء" عرضًا تلقائيًا جديدًا للمهام التي تؤثّر في مدة الإنشاء. إذا كان مشروعك يستخدم الإصدار 8.0 أو إصدارًا أحدث من AGP، سيصنّف "أداة تحليل الإصدار" المهام حسب الفئة بدلاً من عرضها بشكل فردي. على سبيل المثال، يتم تجميع المهام الخاصة بموارد 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

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

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

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

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

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

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

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

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

المشاكل التي تم إصلاحها
Shrinker (R8)
Error: "No VersionRequirement with the given id in the table" after upgrading AGP 7.2.2 -> 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)
خطأ جديد "unknown enum constant" من javac في الإصدار 7.4.0-alpha09 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
عملية إعداد MergeGeneratedProguardFilesCreationAction بطيئة حتى مع تفعيل التخزين المؤقت للإعدادات
[AGP] إضافة دليل المصدر الذي تم إنشاؤه إلى نموذج بيئة التطوير المتكاملة (Variant API)
تم إيقاف JavaPluginConvention وHasConvention نهائيًا
عدم إضافة ignorewarnings إلى R8 تلقائيًا
إظهار تحذير عند عدم توفّر ملفات Proguard
تعطُّل مزامنة Gradle في الإصدار 7.3.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android في مشاريع منصة 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 إلى ظهور الخطأ: "موارد مكرّرة"
يحتوي نوع الإصدار "تصحيح الأخطاء" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على مفتاح توقيع تلقائي
استخدام الميزات الديناميكية وتقليص الموارد يؤدي إلى حدوث عُطل أثناء التشغيل
يحتوي نوع الإصدار "تصحيح الأخطاء" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على مفتاح توقيع تلقائي
دليل المصدر الذي تم إنشاؤه والمدرَج كدليل Java في موفّر المصدر الرئيسي لنموذج lint
الإصدار 8.0-milestone-2 من Gradle يتسبّب في حدوث استثناء في "مكوّن Android الإضافي في Gradle"
تحسين دمج ملف البيان للتطبيقات والمكتبات
إضافة gradle-settings-api إلى إنشاء Javadoc
خطأ جديد "unknown enum constant" من javac في الإصدار 7.4.0-alpha09 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
ينشئ الإصدار 7.4.0-alpha09 من المكوّن الإضافي لنظام Gradle المتوافق مع Android إصدارات لا يمكن تحميلها إلى Firebase App Distribution
لا يتم أخذ ملف lint.xml في الوحدات في الاعتبار عند التحقّق من حالة UP-TO-DATE لمهام lint
المكوّن الإضافي لنظام Gradle المتوافق مع Android 7.0 والإصدارات الأحدث ومشاكل اختبارات Android: يتعذّر العثور على المورد: id
تعطُّل configureCMakeDebug بشكل متقطع بسبب استثناء المؤشر الفارغ
IllegalAccessError عند ترقية المشروع إلى الإصدار ‎2022.2.1.5 من Android Studio، FireBasePerfPlugin
تتعذّر المزامنة ويظهر الخطأ الغامض "لا تحتوي المجموعة على أي عنصر يطابق الشرط".
لا تحوّل واجهة برمجة التطبيقات Instrumentation API التبعيات الخاصة بالملفات المحلية
حدث الخطأ `AnnotationProcessorOptions.arguments are queried` عند التحديث إلى الإصدار 7.4 من الإصدار التجريبي 1
نقل المكوّنات الإضافية العامة لنظام Gradle إلى gradle-api وإزالة BasePlugin.getExtension
لا يتم استخدام r8.jvmArgs
‫JDK17 هو الحد الأدنى للإصدار المطلوب من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
تعطُّل ملفات تعريف خط الأساس في الإصدار A8 من "مكوّن Android الإضافي في Gradle"‏ 8.0.0
تغيير compileSdkVersion إلى compileSdk في رسالة CheckAarMetadataTask في الإصدار 8.0 من "المكوّن الإضافي لنظام Gradle المتوافق مع 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 لواجهة برمجة التطبيقات، وهو مستوى غير متوفّر
"ننصحك باستخدام إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android" عندما لا يتوفّر إصدار أحدث
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 constructor property
Lint: دمج PartialResults يعمل بشكل غير صحيح
يضع "استوديو Android" علامة غير صحيحة على الإصدار المحدّد تشير إلى أنّه قديم.
لا يتم تسجيل نقطة الإضافة 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 (ولكن من المفترض أن يكون تحذيرًا).
تراجع في أداء أداة Lint NewApi Desugar في الإصدار الأوّلي 8 من Flamingo للمكوّن الإضافي لنظام Gradle المتوافق مع Android
لم يتم إلغاء تحويل 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: ‏ رفض أداة التحقّق الفئة androidx.compose.ui.graphics.colorspace.o: void androidx.compose.ui.graphics.colorspace.o.(java.lang.Object) تعذّر التحقّق من: void androidx.compose.ui.graphics.colorspace.o.(java.lang.Object): [0x0] لا يمكن الوصول إلى الحقل java.lang.Object androidx.compose.ui.graphics.colorspace.n.a من عنصر من النوع Precise Reference: androidx.compose.ui.graphics.colorspace.o
الإصدار 7.4.0/7.3.1 من "مكوّن Android الإضافي لبرنامج Gradle": محاولة إضافة إجراء إلى قائمة عمل غير قابلة للإضافة
تصغير رمز Renderscript: انخفاض كبير في الأداء عند ترقية "مكوّن Android الإضافي لبرنامج Gradle" من الإصدار 7.3.1 إلى الإصدار 7.4.0