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

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

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

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

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

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

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

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

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

بدءًا من الإصدار 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 من "مكوّن Android الإضافي لبرنامج Gradle"، لن يعود بإمكانك تغيير قيم هذه العلامات. إذا حدّدتها في ملف gradle.properties، سيتم تجاهل القيمة وستعرض "مكوّنات Android الإضافية في Gradle" تحذيرات.

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

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

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

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

تعيين خاصية Kotlin الكسولة غير متاح

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

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

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

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

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

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

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

الإصدار 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)
الخطأ: "No VersionRequirement with the given id in the table" بعد ترقية الإصدار 7.2.2 إلى 7.4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
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)
تعديل اختبارات "المكوّن الإضافي لنظام Gradle المتوافق مع Android" لاستخدام الإصدار 1.7.20 التجريبي من "المكوّن الإضافي لنظام Kotlin Gradle"
تعذُّر Gradle 7.4 (تعذّر إنشاء مثيل من AnalyticsService)
خطأ جديد "unknown enum constant" من javac في الإصدار ‎7.4.0-alpha09 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
عملية ضبط MergeGeneratedProguardFilesCreationAction بطيئة حتى مع تفعيل التخزين المؤقت للإعدادات
[AGP] إضافة دليل ملفات المصدر الذي تم إنشاؤه إلى نموذج IDE (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 إلى ظهور الخطأ: "موارد مكرّرة"
يحتوي نوع التصميم "debug" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على مفتاح توقيع تلقائي
استخدام الميزات الديناميكية وتقليص الموارد يؤدي إلى حدوث عطل أثناء التشغيل
يحتوي نوع التصميم "debug" على مفتاح توقيع تلقائي، بينما لا تحتوي الأنواع الأخرى على مفتاح توقيع تلقائي
دليل ملفات المصدر الذي تم إنشاؤه والمدرَج كدليل Java في موفّر المصدر الرئيسي لنموذج lint
يتسبّب الإصدار 8.0-milestone-2 من Gradle في حدوث استثناء في "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
تحسين دمج ملفات البيان للتطبيقات والمكتبات
إضافة 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 في الوحدات في الاعتبار عند التحقّق من حالة "محدّث" لمهام Lint
المكوّن الإضافي لنظام Gradle المتوافق مع Android 7.0 والإصدارات الأحدث ومشاكل اختبارات Android: يتعذّر العثور على المورد: id
تعطُّل configureCMakeDebug بشكل متقطع بسبب استثناء مؤشر فارغ
IllegalAccessError upgrading project to AS2022.2.1.5, FireBasePerfPlugin
تتعذّر المزامنة ويظهر الخطأ الغامض "لا تحتوي المجموعة على أي عنصر يطابق الشرط".
لا تحوّل واجهة برمجة التطبيقات Instrumentation API التبعيات في الملفات المحلية
حدث الخطأ `AnnotationProcessorOptions.arguments are queried` عند التحديث إلى الإصدار التجريبي 1 من 7.4
نقل المكوّنات الإضافية العامة لنظام Gradle إلى gradle-api وإزالة BasePlugin.getExtension
لا يتم استخدام r8.jvmArgs
‫JDK17 هو الحد الأدنى للإصدار المطلوب للمكوّن الإضافي لنظام Gradle المتوافق مع Android
تعطُّل ملفات تعريف الأداء الأساسي في الإصدار 8.0.0 A8 من "مكوّن Android الإضافي في Gradle"
تغيير 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 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" إلى حدوث خطأ 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 regarding openInputStream
‫[BuildTool/Lint] ChecksSdkIntAtLeast سمة المنشئ
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 (ولكن من المفترض أن يكون تحذيرًا).
تراجع في أداة إزالة التشويش NewApi في الإصدار الأوّلي 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: انخفاض كبير في الأداء عند الترقية من الإصدار 7.3.1 إلى الإصدار 7.4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android