المشاكل المعروفة في "استوديو 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) لبعض المستخدمين الذين يضبطون خيارات الجهاز الافتراضي (VM) المخصَّصة في ملف .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" على حالته التلقائية، مع إزالة جميع المكوّنات الإضافية التابعة لجهات خارجية.

بالنسبة إلى الإصدار 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) توفُّر جهاز HAXM 6.2.1 أو إصدار أحدث لتحقيق أفضل توافق وثبات مع نظام التشغيل macOS. ومع ذلك، يتطلب نظام التشغيل macOS 10.13 عملية أكثر تداخلًا لتثبيت إضافات kernel، مثل HAXM. عليك السماح يدويًا بتثبيت إضافة kernel نفسها على النحو التالي:

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

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

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

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

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

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

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

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

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

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

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

إذا كانت لديك مجلدات موارد محدّدة في وحدات 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 لتضمين خطوة "العملة المدرِكة لنظام Gradle" فقط.

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

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

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

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

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

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

أثناء استخدام برنامج تصحيح الأخطاء Auto أو Dual لتصحيح أخطاء Java والرمز البرمجي الأصلي، إذا انتقلت إلى دالة أصلية من، سيتم إيقاف رمز Java مؤقتًا (على سبيل المثال، يتوقف برنامج تصحيح الأخطاء مؤقتًا عند سطر في سطر في رمز Java يستدعي وظيفة أصلية وانقر على Step Into ) وتريد الرجوع إلى رمز Java، ثم انقر على Resume Program (استئناف البرنامج) أو انقر على Resume Program (استئناف البرنامج).your-module لمزيد من المعلومات، راجِع المشكلة 224385.

تعليق برنامج تصحيح الأخطاء الأصلي أثناء تحميل المكتبات

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

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

يحدث هذا الخطأ على الأنظمة الأساسية المستندة إلى Linux عند بدء استخدام أداة تصحيح الأخطاء الأصلية. ويشير إلى أنّ إحدى المكتبات التي يطلبها برنامج تصحيح الأخطاء الأصلي غير مثبّتة على النظام المحلي. قد يكون اسم مكتبة المفقودة قد تم طباعته من قبل في ملف idea.log. وإذا لم يكن الأمر كذلك، يمكنك استخدام وحدة طرفية للانتقال إلى دليل تثبيت "استوديو Android" وتنفيذ سطر الأوامر 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" قبل إصدار قديم إلى منع تشغيل الإصدار القديم. على سبيل المثال، إذا أجريت أولاً تثبيت إصدار Canary من "استوديو Android"، ثم حاولت تثبيت الإصدار الثابت وإطلاقه، قد لا يتم تشغيل الإصدار الثابت. في مثل هذه الحالات، عليك محو ذاكرة التخزين المؤقت لتشغيل الإصدار الثابت (الأقدم). على نظام التشغيل macOS، احذف الدليل Library/ApplicationSupport/Google/AndroidStudioversion_number لمحو ذاكرة التخزين المؤقت. في نظام التشغيل Windows، لمحو ذاكرة التخزين المؤقت، استخدِم تنظيف القرص.

لا يعمل تطبيق Espresso Test Recorder مع ميزة Compose

لا يعمل مُسجِّل اختبارات 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" إلى أحدث إصدار ثابت أو إصدار معاينة.

تم إصلاحه في الإصدار 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"

  • استثناءات Lit في مشاريع 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++ في أكثر من موقع على محرك الأقراص نفسه، تشتمل عملية الفحص على جميع الأدلة أسفل أول دليل مشترك. قد يؤدي فحص عدد كبير من الأدلة والملفات إلى حدوث أخطاء بسبب نفاد الذاكرة.

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