المشاكل المعروفة في "استوديو Android" ومكوّن Android Gradle الإضافي

تتتبّع هذه الصفحة المشاكل المعروفة في الإصدار 8.7.0 من Android Studio Ladybug و"المكوّن الإضافي لنظام Gradle المتوافق مع Android". إذا واجهت مشكلة غير مُدرَجة هنا، يُرجى الإبلاغ عن خطأ.

الترقية إلى الإصدار التجريبي: يهدف كل إصدار من إصدارات "استوديو Android" و"المكوّن الإضافي لنظام Gradle المتوافق مع Android" إلى تحسين الثبات والأداء وإضافة ميزات جديدة. للاستفادة من مزايا الإصدارات القادمة الآن، يمكنك تنزيل إصدار "استوديو Android" التجريبي وتثبيته.

المشاكل المعروفة في "استوديو Android"

يوضّح هذا القسم المشاكل المعروفة في أحدث إصدار ثابت من IDE IDE Android Studio.

لا يؤدي النقر على "تطبيق التغييرات وإعادة تشغيل النشاط" إلى إعادة تشغيل النشاط على الأجهزة أو المحاكيات التي تعمل بمستوى واجهة برمجة التطبيقات 35.

عند نشر تغييرات في الرموز البرمجية على جهاز يعمل بواجهة برمجة التطبيقات 35 باستخدام "تطبيق التغييرات وإعادة تشغيل النشاط"، لن تتم إعادة تشغيل التطبيق ولن يظهر لك تأثير التغييرات. في حال إعادة تشغيل التطبيق، ستلاحظ أثر التغييرات التي أجريتها على الرمز. يحقّق فريقنا حاليًا في هذه المشكلة.

تعرض نافذة "مساعِد Firebase" رسالة خطأ

إذا ظهرت رسالة خطأ في نافذة "مساعِد Firebase" (الأدوات > Firebase من القائمة الرئيسية)، ألغِ ذاكرات التخزين المؤقت وأعِد تشغيل "استوديو Android" لحلّ الخطأ.

لا يمكن عزل عرض باستخدام "أداة فحص التنسيق"

لا تتوفّر مؤقتًا إمكانية عزل عرض باستخدام أداة مدقّق التنسيق المضمّنة. نحن نعمل على حلّ هذه المشكلة في إصدار لاحق.

لا يمكن فحص جميع عقد Compose باستخدام "أداة فحص التنسيق"

إذا لاحظت أنّ بعض عقد Compose غير قابلة للفحص عند استخدام أداة فحص التنسيق، من المحتمل أن يكون ذلك بسبب خطأ تم إصلاحه في الإصدار 1.5.0-alpha04 من Compose. إذا كنت تواجه هذه المشكلة، تأكَّد من الترقية إلى الإصدار 1.5.0-alpha04 من تطبيق Compose أو إصدار أحدث.

حدث خطأ أثناء عرض ميزة "معاينة الإنشاء"

بدءًا من الإصدار Chipmunk من Android Studio، إذا ظهر لك الرمز java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner أو java.lang.ClassNotFoundException: androidx.savedstate.R$id في لوحة المشاكل، تأكّد من تضمين تبعية debugImplementation لملف برمجي androidx.lifecycle:lifecycle-viewmodel-savedstate في وحدتك.

إذا ظهر لك java.lang.NoSuchFieldError: view_tree_lifecycle_owner في لوحة المشاكل، تأكَّد من تضمين تبعية debugImplementation ل androidx.lifecycle:lifecycle-runtime في وحدتك.

إذا ظهر لك java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer أو java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener في لوحة المشاكل، تأكَّد من تضمين عنصر debugImplementation يعتمد على androidx.customview:customview-poolingcontainer في وحدتك.

خطأ عند استخدام كلمات مرور مختلفة للمفتاح وملف تخزين المفاتيح

بدءًا من الإصدار 4.2، يعمل Android Studio الآن على JDK 11. يؤدي هذا التعديل إلى تغيير في السلوك الأساسي المرتبط بمفاتيح التوقيع.

عند الانتقال إلى إنشاء > إنشاء حزمة موقَّعة أو حزمة APK ومحاولة ضبط ميزة "توقيع التطبيق" لحزمة تطبيق أو حزمة APK، قد يؤدي إدخال كلمات مرور مختلفة للمفتاح وملف تخزين المفاتيح إلى الظهور للخطأ التالي:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

لحلّ هذه المشكلة، أدخِل كلمة المرور نفسها لكلّ من المفتاح وملف تخزين المفاتيح.

لا يبدأ Android Studio بعد تثبيت الإصدار 4.2

تحاول أداة Studio استيراد ملف vmoptions. السابق وتنظيفه للعمل مع أداة جمع المهملات التي يستخدمهاJDK 11. في حال تعذّر هذه العملية، قد لا يبدأ IDE لدى مستخدمين معيّنين ممن ضبطوا خيارات أجهزة افتراضية مخصّصة في ملف vmoptions.

لحلّ هذه المشكلة، ننصحك بتعليق الخيارات المخصّصة في vmoptions. (باستخدام الحرف "#"). يمكن العثور على ملف vmoptions. في المواقع التالية:

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

إذا لم يبدأ تشغيل Studio بعد تجربة هذا الحلّ البديل، اطّلِع على تعذُّر تشغيل Studio بعد الترقية أدناه.

تعطُّل التطبيقات التي تستخدم "أداة فحص قاعدة البيانات" على محاكي Android 11

قد تتعطل التطبيقات التي تستخدم "أداة فحص قاعدة البيانات" عند تشغيلها على محاكي Android 11 ، مع ظهور خطأ مثل ما يلي في logcat:

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

لحلّ هذه المشكلة، عليك ترقية محاكي Android 11 إلى الإصدار 9 أو إصدار أحدث من خلال الانتقال إلى الأدوات > أداة إدارة حِزم تطوير البرامج (SDK). في علامة التبويب أنظمة تشغيل حِزم تطوير البرامج (SDK)، ضَع علامة في مربع عرض تفاصيل الحزمة واختَر الإصدار 9 أو إصدارًا أحدث من محاكي Android 11.

لا يبدأ تطبيق "استوديو YouTube" بعد الترقية

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

في الإصدار 4.1 من "استوديو Android" والإصدارات الأحدث:

  • Windows: %APPDATA%\Google\AndroidStudio<version>
    مثال: C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1

  • macOS: ~/Library/Application Support/Google/AndroidStudio<version>
    مثال: ~/Library/Application Support/Google/AndroidStudio4.1

  • نظام التشغيل Linux: ~/.config/Google/AndroidStudio<version> و~/.local/share/Google/AndroidStudio<version>
    مثال: ~/.config/Google/AndroidStudio4.1 و~/.local/share/Google/AndroidStudio4.1

بالنسبة إلى الإصدار 4.0 من "استوديو Android" والإصدارات الأقدم:

  • Windows: %HOMEPATH%\.AndroidStudio<version>\config
    مثال: C:\Users\your_user_name\.AndroidStudio3.6\config

  • macOS: ~/Library/Preferences/AndroidStudio<version>
    مثال: ~/Library/Preferences/AndroidStudio3.6

  • Linux: ~/.AndroidStudio<version>/config
    مثال: ~/.AndroidStudio3.6/config

يُرجى العِلم أنّ دليل الضبط لإصدارَي Canary وBeta من Android Studio هو PreviewX.Y بدلاً من X.Y لإصدار <version>. على سبيل المثال، تستخدم إصدارات Android Studio 4.1 Canary الدليل AndroidStudioPreview4.1 بدلاً من الدليل AndroidStudio4.1 الذي يُستخدَم للإصدارات المرشحة للإصدار والإصدارات الثابتة.

مشكلة في عملية الترجمة في مشاريع Kotlin المتوافقة مع أنظمة التشغيل المتعددة

قد تحدث أخطاء في عملية الترجمة في رمز Kotlin MPP بسبب عدم توفّر الرموز. من المفترض أن يؤدي ترقية المكوّن الإضافي Kotlin إلى الإصدار 1.4 إلى حلّ هذه المشكلة.

تعارضات تعيين المفاتيح على نظام التشغيل Linux

في نظام التشغيل Linux، تتعارض بعض اختصارات لوحة المفاتيح مع اختصارات لوحة مفاتيح Linux الافتراضية وتلك الخاصة بمدراء النوافذ الشائعين، مثل KDE وGNOME. قد لا تعمل اختصارات لوحة المفاتيح المتضاربة هذه على النحو المتوقّع في Android Studio.

يمكنك العثور على مزيد من المعلومات حول هذه المشكلة (بما في ذلك الحلول البديلة المحتملة) في نظام تتبُّع الأخطاء في IntelliJ.

نص واجهة المستخدم الصغير على ChromeOS

على نظام التشغيل ChromeOS، قد يظهر النص أصغر بكثير مما كان عليه في الإصدارات السابقة. لحلّ هذه المشكلة، يُرجى اتّباع الخطوات التالية:

  1. افتح نافذة الإعدادات بالنقر على ملف > الإعدادات.
  2. انتقِل إلى المظهر والسلوك > المظهر.
  3. اختَر استخدام خط مخصّص.
  4. زيادة حجم الخط
  5. في نافذة الإعدادات، انتقِل إلى المحرِّر > الخط.
  6. زيادة حجم الخط
  7. انقر على موافق.

تعديل الرموز البرمجية

يوضّح هذا القسم المشاكل المعروفة المرتبطة بمحرِّر الرموز البرمجية.

تجميد إدخال لوحة المفاتيح - مشاكل "iBus" على نظام التشغيل Linux

هناك بعض التفاعلات المعروفة بين برنامج iBus الخفي على نظام التشغيل Linux و"استوديو Android". في بعض السيناريوهات، يتوقف بيئة تطوير البرامج (IDE) عن الاستجابة لإدخال لوحة المفاتيح أو يبدأ بإدخال أحرف عشوائية. يحدث هذا الخطأ بسبب بعض عمليات المزامنة غير المتوفّرة بين iBus وXLib + AWT، وقد تم الإبلاغ عنه مسبقًا إلى JetBrains وiBus. هناك ثلاثة حلول حالية لهذه المشكلة:

  • الحلّ 1: فرض وضع iBus على الوضع المتزامن قبل بدء Android Studio، نفِّذ ما يلي في سطر الأوامر:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • الحلّ البديل 2: أوقِف إدخال iBus في Android Studio. لإيقاف طريقة إدخال iBus في "استوديو Android" فقط، شغِّل ما يلي في سطر الأوامر:
    $ XMODIFIERS= ./bin/studio.sh
    لا يؤدي هذا الحلّ البديل إلا إلى إيقاف طرق الإدخال في "استوديو Android"، وليس أي تطبيقات أخرى قد تكون شغّالة. يُرجى العِلم أنّه في حال إعادة تشغيل العميل المتغيّر أثناء تشغيل Android Studio (على سبيل المثال، من خلال تشغيل ibus-daemon -rd)، يتم إيقاف طرق الإدخال بشكلٍ فعّال لجميع التطبيقات الأخرى، وقد يؤدي ذلك أيضًا إلى تعطُّل JVM في Android Studio بسبب خطأ في التجزئة.
  • الحلّ 3: تحقّق جيدًا من عمليات ربط الاختصارات للتأكّد من أنّه لم يتم ضبط اختصار الإدخال التالي على Ctrl ‏+ مسافة، لأنّه يمثّل أيضًا اختصار إكمال الرمز في "استوديو Android". في الإصدار 14.04 (Trusty) من Ubuntu، يكون Super+Space هو الاختصار التلقائي، ولكن قد تظل الإعدادات من الإصدارات السابقة متوفّرة. للتحقّق من عمليات ربط الاختصارات، شغِّل ibus-setup على سطر الأوامر لفتح نافذة "الإعدادات المفضّلة في IBus". ضمن اختصارات لوحة المفاتيح، ضَع علامة في المربّع بجانب أسلوب الإدخال التالي. إذا كان الإعداد مُحدَّدًا على Control ‏+ Space، غيِّره إلى Super ‏+ Space أو اختصار آخر من خيارك.

إعدادات المشروع

يوضّح هذا القسم المشاكل المعروفة المتعلقة بإعدادات المشروع وGradle sync.

تعذّرت مزامنة Gradle: خطأ في الاتصال

تكمن المشكلة في أنّ برنامج Gradle الخفي يحاول استخدام IPv4 بدلاً من IPv6.

  • الحلّ البديل 1: على نظام التشغيل Linux، أضِف ما يلي إلى ملف ~/.profile أو ~/.bash_profile:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • الحلّ 2: في ملف vmoptions في "استوديو Android"، غيِّر السطر -Djava.net.preferIPv4Addresses=true إلى -Djava.net.preferIPv6Addresses=true. لمزيد من المعلومات، اطّلِع على دليل مستخدمي IPv6 للشبكات.

أخطاء "لم يتم مصادقة المشارِك" من خلال مزامنة Gradle أو أداة إدارة حِزم SDK

السبب الأساسي لهذه الأخطاء هو عدم توفّر شهادة في $JAVA_HOME/jre/lib/certificates/cacerts. لحلّ هذه الأخطاء، يُرجى اتّباع الخطوات التالية:

  • إذا كنت تستخدم خادمًا وكيلاً، حاوِل الاتصال مباشرةً. إذا كان الربط المباشر يعمل، قد تحتاج إلى استخدام keytool لإضافة شهادة الخادم الوكيل إلى ملف cacerts من أجل الاتصال من خلال الخادم الوكيل.
  • إعادة تثبيت حزمة JDK متوافقة وغير معدَّلة هناك مشكلة معروفة تؤثّر في مستخدمي Ubuntu، ما يؤدي إلى ظهور /etc/ssl/certs/java/cacerts فارغ. لحلّ هذه المشكلة، نفِّذ الخطوات التالية في سطر الأوامر:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

النشر

يوضّح هذا القسم المشاكل المعروفة المرتبطة بنشر تطبيقك على جهاز متصل.

[نظام التشغيل Mac فقط] لا يتم تطبيق التحديثات المتزايدة بسبب مشكلة في مراقبة ملفات Gradle في المشاريع المحفوظة ضمن /System/Volumes/Data

تؤثّر مشكلة Gradle 18149 في الإصدارات 7.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android والإصدارات الأحدث لأنّها تتطلّب الإصدار 7.0 من Gradle والإصدارات الأحدث. بدءًا من الإصدار 7.0 من Gradle، يتم تفعيل ميزة "مراقبة الملفات" تلقائيًا. إذا كنت تعمل على نظام التشغيل Mac OS وتم حفظ مشروعك ضمن /System/Volumes/Data، لن تتتبّع ميزة "مراقبة ملفات Gradle" تغييرات الملفات بشكل صحيح. سيؤدي ذلك إلى عدم رؤية نظام الإنشاء لأي تغييرات في الملفات، وبالتالي لن يتم تعديل حِزم APK. ولن يؤدي رمز النشر المتزايد بعد ذلك إلى أي إجراء لأنّ حالة حِزمة APK على الجهاز هي نفسها على الجهاز.

لحلّ هذه المشكلة، عليك نقل دليل مشروعك إلى دليل ملفاتك الشخصية، أي ضمن /Users/username. سيتم بعد ذلك إعلام "نظام التصميم" بشكل صحيح بتغييرات الملفات من خلال ميزة "مراقبة ملفات Gradle"، وسيتم تطبيق التغيُّرات التدريبية بنجاح.

استخدام ميزة HAXM في "محاكي Android" على نظام التشغيل macOS High Sierra

يتطلب استخدام "محاكي Android" على macOS High Sierra (10.13) الإصدار 6.2.1 من HAXM أو الإصدارات الأحدث للحصول على أفضل مستويات التوافق والثبات مع نظام التشغيل macOS. ومع ذلك، يتطلب نظام التشغيل macOS 10.13 عملية أكثر تداخلًا لتثبيت إضافات kernel، مثل HAXM. عليك السماح يدويًا بتثبيت إضافة kernel نفسها على النحو التالي:

  1. أولاً، حاوِل تثبيت أحدث إصدار من HAXM من مدير حِزم تطوير البرامج (SDK).
  2. في نظام التشغيل MacOS، انتقِل إلى الإعدادات المفضَّلة للنظام > الأمان والخصوصية.
  3. إذا ظهر لك تنبيه يفيد بأنّه تم حظر تحميل برامج النظام من مطوّر البرامج "Intel Corporation Apps"، انقر على سماح:

لمزيد من المعلومات والحلول البديلة، يُرجى الاطّلاع على صفحة الويب هذه من Apple و الطلب رقم 62395878.

تطبيق التغييرات

يوضّح هذا القسم المشاكل المعروفة المرتبطة بميزة تطبيق التغييرات.

لم يتم تطبيق اسم التطبيق الجديد

إذا أعدت تسمية تطبيقك ثم حاولت تطبيق هذا التغيير، قد لا يظهر الاسم المعدَّل. لحلّ هذه المشكلة، انقر على تشغيل رمز التشغيل لإعادة نشر تطبيقك والاطّلاع على التغييرات التي أجريتها.

حدث خطأ في بيئة Android Runtime

إذا كنت تستخدم جهازًا يعمل بنظام التشغيل Android 8.0 أو 8.1، قد تظهر لك رسائل "VERIFICATION_ERROR" عند محاولة تطبيق أنواع معيّنة من التغييرات (خاصةً إذا كنت تستخدم لغة Kotlin). تحدث هذه الرسالة بسبب مشكلة في IDE IDE Android Runtime تم إصلاحها في الإصدار 9.0 من نظام التشغيل Android والإصدارات الأحدث. على الرغم من أنّ المشكلة تؤدي إلى تعذُّر تطبيق التغييرات، سيظل بإمكانك تشغيل رمز التشغيل تطبيقك مرة أخرى للاطّلاع على التغييرات. ومع ذلك، ننصحك بترقية الجهاز إلى الإصدار 9.0 من نظام التشغيل Android أو إصدار أحدث.

تصحيح الأخطاء والاختبار

يصف هذا القسم المشاكل المعروفة المتعلّقة بتصحيح أخطاء تطبيقك واختباره.

اختبارات JUnit لا ترصد الموارد غير المتوفّرة في مسار الطباعة عند تشغيلها من "استوديو Android"

إذا كانت لديك مجلدات موارد محدّدة في وحدات Java، لن يتم العثور على تلك الموارد عند إجراء الاختبارات من IDE. سيؤدي تشغيل الاختبارات باستخدام Gradle من سطر الأوامر إلى حلّ المشكلة. يمكنك أيضًا تنفيذ مهمة Gradle check من IDE. يُرجى الاطّلاع على الطلب 64887 للحصول على المزيد من التفاصيل.

تحدث هذه المشكلة اعتبارًا من IntelliJ 13، الذي يتطلب استخدام مجلد واحد فقط كمسار فئة. ينسخ أداة إنشاء IntelliJ جميع الموارد إلى مجلد الإنشاء هذا، ولكن لا ينسخ Gradle الموارد.

  • الحلّ البديل 1: يمكنك تنفيذ مهمة Gradle check من IDE بدلاً من إجراء اختبار وحدة.
  • الحلّ 2: تعديل نص إنشاء التطبيق لنسخ الموارد يدويًا إلى مجلد الإنشاء يُرجى الاطّلاع على التعليق رقم 13 لمزيد من المعلومات.

قد يؤدي تشغيل اختبارات JUnit إلى تجميع الرمز البرمجي مرتين.

عند إنشاء مشروع جديد، قد يتم إنشاء إعدادات JUnit للنموذج بخطوتَين "قبل الإطلاق": Make وMake المتوافق مع Gradle. تتم بعد ذلك مشاركة هذه الإعدادات مع جميع إعدادات تشغيل JUnit التي تم إنشاؤها.

  • لحلّ المشكلة في المشروع الحالي، انقر على تشغيل > تعديل الإعدادات وغيِّر إعدادات JUnit التلقائية لتضمين خطوة Make المتوافقة مع Gradle فقط.
  • لحلّ المشكلة في جميع المشاريع المستقبلية، انقر على ملف > إغلاق المشروع. من المفترض أن تظهر لك شاشة الترحيب. بعد ذلك، انقر على ضبط > الإعدادات التلقائية للمشروع > إعدادات التشغيل وغيِّر إعدادات JUnit لتضمين خطوة Make المتوافقة مع Gradle فقط.

عدم عمل بعض إعدادات التشغيل التجريبي

ليست كلّ إعدادات التشغيل التي تتوفّر عند النقر بزرّ الماوس الأيمن على طريقة اختبار صالحة. وعلى وجه التحديد، فإنّ الإعدادات التالية غير صالحة:

  • لا تعمل إعدادات تشغيل Gradle (التي تحمل شعار Gradle كرمز) .
  • إعدادات تشغيل JUnit (التي تحتوي على رمز بدون Android الأخضر) لا تنطبق على اختبارات الأدوات، التي لا يمكن تشغيلها على JVM المحلي.
يحفظ Android Studio أيضًا إعدادات التشغيل التي تم إنشاؤها في سياق معيّن (على سبيل المثال، النقر بزر الماوس الأيمن على فئة أو طريقة معيّنة)، ولن يعرض خيار التشغيل بإعدادات مختلفة في المستقبل. لحلّ هذه المشكلة، انقر على تشغيل > تعديل الإعدادات وأزِل الإعدادات التي تم إنشاؤها بشكلٍ غير صحيح.

إضافة نقاط توقُّف Java أثناء تصحيح أخطاء الرموز البرمجية الأصلية

عندما يكون تطبيقك متوقفًا مؤقتًا عند نقطة توقّف في رمزه البرمجي الأصلي، قد لا يرصد مدمِّرا الأخطاء التلقائي والمزدوج على الفور نقاط توقّف Java الجديدة التي تحدّدها. لتجنُّب هذه المشكلة، أضِف نقاط توقف Java قبل بدء جلسة تصحيح أخطاء أو أثناء إيقاف التطبيق مؤقتًا عند نقطة توقف Java. لمزيد من المعلومات، يُرجى الاطّلاع على المشكلة 229949.

الخروج من أداة تصحيح الأخطاء الأصلية

أثناء استخدام أداة تصحيح الأخطاء التلقائية أو المزدوجة لتحديد أخطاء رمز Java والرمز الأصلي وإصلاحها، إذا انتقلت إلى دالة أصلية من رمز Java (على سبيل المثال، يوقف أداة تصحيح الأخطاء التنفيذ مؤقتًا عند سطر في رمز Java يستدعي دالة أصلية وتنقر على الانتقال إلى ) وأردت العودة إلى رمز Java، انقر على استئناف البرنامج (بدلاً من الخروج أو التخطّي ). ستظل عملية تطبيقك متوقفة مؤقتًا، لذا انقر على استئناف البرنامج في علامة التبويب your-module-java لاستئنافه. لمزيد من المعلومات، يُرجى الاطّلاع على الطلب 224385.

يتعطل مصحِّح الأخطاء الأصلي أثناء تحميل المكتبات

أثناء استخدام أداة تصحيح الأخطاء الأصلية لأول مرة بعد الترقية إلى الإصدار 4.2 من Android Studio والإصدارات الأحدث، قد تتوقف أداة تصحيح الأخطاء الأصلية عن الاستجابة أثناء تحميل المكتبات من جهاز Android. هذه مشكلة متكررة تستمر في الحدوث حتى في حال إيقاف أداة تصحيح الأخطاء وإعادة تشغيلها. لحلّ هذه المشكلة، احذِف ذاكرة التخزين المؤقت لـ LLDB في $USER/.lldb/module-cache/.

تعطُّل برنامج تصحيح الأخطاء الأصلي مع ظهور الرسالة "انتهت عملية برنامج تصحيح الأخطاء برمز الخروج 127"

يحدث هذا الخطأ على الأنظمة الأساسية المستندة إلى Linux عند بدء استخدام أداة تصحيح الأخطاء الأصلية. يشير ذلك إلى أنّ إحدى المكتبات المطلوبة من مصحِّح أخطاء العميل المضمّن لم يتم تثبيتها على النظام المحلي. قد يكون اسم مكتبة المفقودة قد تم طباعته من قبل في ملف idea.log. إذا لم يكن الأمر كذلك، يمكنك استخدام ملف بدء تطبيقات لينكس للانتقال إلى دليل تثبيت Android Studio وتنفيذ سطر الأوامر bin/lldb/bin/LLDBFrontend --version لمعرفة المكتبات التي مفقودة. عادةً ما تكون المكتبة المفقودة هي ncurses5 لأنّ بعض توزيعات Linux الحديثة سبق أن تمت ترقيتها إلى ncurses6.

أدوات تحليل الأداء

يصف هذا القسم المشاكل المعروفة في أدوات تحليل الأداء.

أداة تحليل استخدام الذاكرة الأصلية: لا تتوفّر أداة تحليل الاستخدام أثناء بدء تشغيل التطبيق

أداة تحليل الذاكرة الأصلية غير متاحة حاليًا أثناء بدء تشغيل التطبيق. سيكون هذا الخيار متاحًا في إصدار قادم.

كحل بديل، يمكنك استخدام أداة Perfetto المستقلة لتحليل الأداء من سطر الأوامر لتسجيل ملفات تعريف بدء التشغيل.

أخطاء في مهلة المحلّل في "محلل وحدة المعالجة المركزية"

قد تظهر لك أخطاء "تعذّر إيقاف التسجيل" في أداة تحليل وحدة المعالجة المركزية (CPU) في Android Studio عند اختيار إعدادات تحليل طلبات Java أو تتبُّع طلبات Java. غالبًا ما تكون هذه أخطاء متعلّقة بانتهاء مهلة التنفيذ، خاصةً إذا ظهرت رسالة الخطأ التالية في ملف idea.log:

Wait for ART trace file timed out

تميل أخطاء المهلة إلى التأثير في الطرق التي يتم تتبُّعها أكثر من الطرق التي يتم تحليل عيّنات منها، وكذلك في التسجيلات الأطول أكثر من التسجيلات الأقصر. كحل مؤقت، قد يكون من المفيد محاولة تسجيل فيديوهات أقصر لمعرفة ما إذا كان الخطأ سيختفي.

إذا واجهت مشاكل في المهلة الزمنية لأداة تحليل الأداء، يُرجى إرسال تقرير خطأ يتضمّن العلامة التجارية/طراز أجهزتك وأي إدخالات ذات صلة من idea.log وlogcat.

استثناء ADB عند تصحيح الأخطاء أو إنشاء ملف تعريف للأداء

عند استخدام الإصدار 29.0.3 من "أدوات المنصة"، قد لا تعمل أدوات تصحيح الأخطاء الأصلية وأدوات تحليل الأداء في Android Studio بشكل صحيح، وقد تظهر لك إما "AdbCommandRejectedException" أو "تعذّر الاتصال بالمنفذ" في ملف idea.log عند اختيار المساعدة > عرض السجلّ. يؤدي ترقية "أدوات النظام الأساسي" إلى الإصدار 29.0.4 أو إصدار أحدث إلى حلّ كلتا المشكلتَين.

لترقية "أدوات المنصة"، اتّبِع الخطوات التالية:

  1. افتح "مدير حزمة تطوير البرامج (SDK)" من "استوديو Android" بالنقر على الأدوات > مدير حزمة تطوير البرامج (SDK) أو انقر على مدير حزمة تطوير البرامج (SDK) في شريط الأدوات.
  2. انقر على مربّع الاختيار بجانب حزمة تطوير البرامج (SDK) لنظام التشغيل Android أدوات النظام الأساسي لكي يظهر علامة اختيار. من المفترض أن يظهر رمز تنزيل في العمود الأيمن.
  3. انقر على تطبيق أو حسنًا.

المكوّن الإضافي يمنع نافذة "نتائج الإنشاء" من العمل

يؤدي استخدام المكوّن الإضافي CMake simple highlighter إلى منع ظهور المحتوى في نافذة "ناتج الإنشاء". يتم تشغيل عملية الإنشاء وتظهر علامة التبويب "ناتج عملية الإنشاء"، ولكن لا يتم طباعة أي ناتج (المشكلة رقم 204791544).

ترتيب التثبيت يمنع التشغيل

قد يؤدي تثبيت إصدار أحدث من "استوديو Android" قبل إصدار قديم إلى منع تشغيل الإصدار القديم. على سبيل المثال، إذا ثبّت أولاً الإصدار الكاناري من Android Studio، ثم حاولت تثبيت الإصدار الثابت وتشغيله، قد لا يتم تشغيل الإصدار الثابت. في مثل هذه الحالات، عليك محو ذاكرة التخزين المؤقت لتشغيل الإصدار الثابت (الأقدم). على نظام التشغيل macOS، لمحو ملفاتك من ذاكرة التخزين المؤقت، عليك حذف ملفاتك من Library/ApplicationSupport/Google/AndroidStudioversion_number الدليل. في نظام التشغيل Windows، لمحو ذاكرة التخزين المؤقت، استخدِم تنظيف القرص.

لا يعمل "مسجّل اختبارات Espresso" مع أداة "الإنشاء"

لا يعمل مُسجِّل اختبارات Espresso مع المشاريع التي تتضمّن Compose. لإنشاء اختبارات واجهة المستخدم للمشاريع التي تتضمّن ميزة "الإنشاء"، اطّلِع على اختبار تنسيق "الإنشاء".

يتعارض اختصار Logcat مع تنسيقات لوحة المفاتيح غير الإنجليزية

إذا كنت تستخدم تنسيق لوحة مفاتيح غير الإنجليزية، قد يتعارض اختصار لوحة مفاتيح Logcat التلقائي مع التنسيق ويمنعك من كتابة أحرف معيّنة عند تعديل النص في "استوديو Android". لحلّ هذه المشكلة، احذِف أو أعِد ربط خريطة مفاتيح Logcat المتضاربة. لتعديل خرائط مفاتيح Logcat في IDE IDE، انتقِل إلى Android Studio > الإعدادات > خريطة المفاتيح وابحث عن Logcat في قائمة خرائط المفاتيح. لمزيد من المعلومات، يُرجى الاطّلاع على الطلب رقم 263475910.

سيتم حلّ هذه المشكلة من خلال إزالة اختصار Logcat في تصحيح Android Studio Electric Eel Patch 1.

المشاكل المعروفة في "المكوّن الإضافي لنظام Gradle المتوافق مع Android"

يوضّح هذا القسم المشاكل المعروفة في أحدث إصدار ثابت من المكوّن الإضافي لنظام Gradle المتوافق مع Android.

لا يتم فحص جميع التبعيات في مكتبة الميزات الديناميكية باستخدام أداة Lint.

عند تشغيل lint باستخدام checkDependencies = true من وحدة تطبيق، لا يتم التحقّق من تبعيات مكتبة الميزات الديناميكية ما لم تكن أيضًا تبعيات التطبيق (المشكلة رقم 191977888). كحل بديل، يمكن تنفيذ مهمة فحص الأخطاء على هذه المكتبات.

ملف التوقيع الذي يحمل اسمًا مكوّنًا من أحرف عودة السطر

لا يتوافق توقيع JAR (مخطّط الإصدار 1) مع أسماء الملفات التي تحتوي على أحرف carriage return (الخطأ رقم 63885809).

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

لا يمكن استخدام Variant API لتعديل نتائج الأسعار المتغيرة باستخدام المكوّن الإضافي الجديد. لا يزال هذا الإجراء صالحًا للمهام البسيطة، مثل تغيير اسم حزمة APK أثناء وقت الإنشاء، كما هو موضّح أدناه:

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

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

لم يعُد manifestOutputFile متاحًا

لم تعُد الطريقة processManifest.manifestOutputFile() متاحة، وستظهر لك رسالة الخطأ التالية عند استدعائها:

A problem occurred configuring project ':myapp'.
   Could not get unknown property 'manifestOutputFile' for task
   ':myapp:processDebugManifest' of type
   com.android.build.gradle.tasks.ProcessManifest.

بدلاً من استدعاء manifestOutputFile() للحصول على ملف البيان لكل صيغة، يمكنك استدعاء processManifest.manifestOutputDirectory() لعرض مسار الدليل الذي يحتوي على جميع ملفات البيان التي تم إنشاؤها. يمكنك بعد ذلك العثور على بيان تطبيق وتطبيق منطقك عليه. يغيّر المثال أدناه رمز الإصدار في البيان بشكل ديناميكي:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

مشاكل في توافق AGP 7.3.0 مع AIDL وKotlin 1.7.x

يؤدي استخدام AGP 7.3.0 مع KAPT في Kotlin 1.7.x إلى إزالة مجموعات مصادر AIDL لتصاميم الإصدار المعيّنة. سيظل بإمكانك استخدام مجموعات مصدر AIDL الأخرى، بما في ذلك مجموعات main/ وأنواع الإصدارات ونُسخ المنتجات ومجموعات نُسخ المنتجات. إذا كنت بحاجة إلى استخدام مجموعات مصادر AIDL الخاصة بالإصدارات المتغيرة، يُرجى مواصلة استخدام Kotlin 1.6.21.

المشاكل المعروفة التي تم حلّها

يصف هذا القسم المشاكل المعروفة التي تم إصلاحها في إصدار حديث. إذا واجهت أيًا من هذه المشاكل، عليك تحديث Android Studio إلى أحدث إصدار ثابت أو إصدار تجريبي.

تم إصلاحه في الإصدار 2021.1.1 من "استوديو Android"

  • عدم توفّر ناتج فحص الأخطاء: لا يتوفّر نص ناتج فحص الأخطاء مطبوعًا في stdout عندما يكون موضع مهمة فحص الأخطاء هو UP-TO-DATE (المشكلة رقم 191897708). تم إصلاحه في AGP 7.1.0-alpha05.
  • مشاكل في اختبار الوحدات لمشروع تطبيق يستخدم المكوّن الإضافي Hilt: يحتوي مسار فئة اختبار الوحدة على فئات التطبيق غير المُعدّة للاختبار، ما يعني أنّه لا يُعدّ Hilt فئات التطبيق للتعامل مع حقن التبعية عند تشغيل اختبارات الوحدات (المشكلة رقم 213534628). تم إصلاحه في AGP 7.1.1.

تم إصلاحه في الإصدار 2020.3.1 من "استوديو Android"

  • استثناءات Lint في مشاريع Kotlin: قد تواجه مشاريع Kotlin التي تضبط checkDependencies = true استثناءات أو أخطاء مؤشر فارغ (الطلب رقم 158777858).

تم إصلاحه في الإصدار 4.2 من "استوديو Android"

  • توقُّف بيئة التطوير المتكاملة عن العمل على نظام التشغيل macOS Big Sur: قد يتوقّف الإصدار 4.1 من "استوديو Android" عن العمل عند فتح مربّع حوار.

تم إصلاحه في الإصدار 4.1 من "استوديو Android"

  • إعادة التشغيل لتطبيق إعدادات الذاكرة من الإصدار السابق من بيئة التطوير المتكاملة: بعد تحديث "استوديو Android"، عليك إعادة تشغيله لتطبيق أي إعدادات ذاكرة تم نقلها من إصدار سابق من بيئة التطوير المتكاملة.
  • لم يعُد يتم إنشاء فئة البيان التي تحتوي على سلاسل أذونات مخصّصة بشكلٍ تلقائي: إذا كنت تريد إنشاء الفئة، اضبط android.generateManifestClass = true.

تم إصلاحه في الإصدار 3.6 من "استوديو Android"

  • خطأ في تثبيت حِزمة APK على نظام التشغيل LineageOS: قد يتعذّر نشر تطبيقك على الأجهزة التي تعمل بإصدارات معيّنة من LineageOS أو CyanogenMod وقد يؤدي ذلك إلى طرح استثناء INSTALL_PARSE_FAILED_NOT_APK.

    في الإصدار 3.6 Beta 1 من Android Studio والإصدارات الأحدث، يعالج IDE هذا الاستثناء من خلال تنفيذ عملية تثبيت كاملة للتطبيق عند نشره على أجهزة LineageOS أو CyanogenMod، ما قد يؤدي إلى إطالة مدّة النشر.

تم إصلاحه في الإصدار 3.5.2 من "استوديو Android"

  • أسلوب رمز XML غير الصالح: عند تعديل رمز XML، طبّق محرّر بيئة التطوير المتكامل أسلوب رمز غير صحيح عند اختيار الرمز > إعادة تنسيق الرمز من شريط القوائم.

تم إصلاحه في الإصدار 3.3.1 من "استوديو Android"

  • أخطاء عدم توفّر مساحة في الذاكرة عند فحص المشاريع المستندة إلى C++: عندما يفحص Gradle مشروعًا يحتوي على رمز C++ في أكثر من موقع واحد على محرك الأقراص نفسه، يشمل الفحص جميع الأدلة ضمن الدليل المشترك الأول. قد يؤدي فحص عدد كبير من الأدلة والملفات إلى حدوث أخطاء بسبب نفاد الذاكرة.

    لمزيد من المعلومات حول هذه المشكلة، يُرجى الاطّلاع على الخطأ المرتبط بها.