تتتبّع هذه الصفحة المشاكل المعروفة في الإصدار 8.1.1 من Android Studio Narwhal والمكوّن الإضافي لنظام Gradle المتوافق مع Android. إذا واجهت مشكلة غير مُدرَجة هنا، يُرجى الإبلاغ عن خطأ.
الترقية إلى الإصدار التجريبي: يهدف كل إصدار من إصدارات "استوديو Android" و"المكوّن الإضافي لنظام Gradle المتوافق مع Android" إلى تحسين الاستقرار والأداء وإضافة ميزات جديدة. للاستفادة من مزايا الإصدارات القادمة الآن، نزِّل الإصدار التجريبي من "استوديو Android" وثبِّته.
المشاكل المعروفة في "استوديو Android"
يوضّح هذا القسم المشاكل المعروفة في أحدث إصدار ثابت من Android Studio.
يؤدي تشغيل الإعداد بدون "التنفيذ قبل التشغيل" في Gradle-aware Make إلى حدوث خطأ في النشر
حدثت مشكلة في الإصدار 9 من قناة Canary من حزمة Ladybug Feature Drop في "استوديو Android" أدت إلى إزالة معلومات إعدادات التشغيل من المشاريع التي تم فتحها باستخدام هذا الإصدار. إذا فتحت مشروعك باستخدام هذا الإصدار في وقت ما، وكان تشغيل تطبيقك يؤدي إلى ظهور الخطأ "تحميل عناصر البناء"، تأكَّد من أنّ إعدادات التشغيل النشطة تتضمّن خطوة "إنشاء متوافق مع Gradle" في قسم "قبل التشغيل". للتحقّق من ذلك، انقر على Run/Debug Configurations > Edit Configurations، ثم انقر على إعدادات التشغيل النشطة وتأكَّد من وجود خطوة "Gradle-aware Make" في قسم "قبل الإطلاق" (Before launch). لا يمكن لـ Android Studio حلّ هذه المشكلة تلقائيًا لأنّه ربما تم إعداد بعض إعدادات التشغيل بدون خطوة "إنشاء متوافق مع Gradle".
لا يعيد الخيار "تطبيق التغييرات وإعادة تشغيل النشاط" تشغيل النشاط على الأجهزة أو المحاكيات التي تعمل بالمستوى 35 لواجهة برمجة التطبيقات
عند نشر تغييرات الرمز البرمجي على جهاز يعمل بالإصدار 35 من واجهة برمجة التطبيقات باستخدام الخيار "تطبيق التغييرات وإعادة تشغيل النشاط"، لن تتم إعادة تشغيل التطبيق ولن تظهر لك تأثيرات التغييرات. إذا أعدت تشغيل التطبيق، ستلاحظ تأثير التغييرات التي أجريتها على الرمز. ويعمل فريقنا حاليًا على التحقيق في هذه المشكلة.
تعرض نافذة "مساعد Firebase" رسالة خطأ
إذا عرضت نافذة "مساعد Firebase" (الأدوات > Firebase من القائمة الرئيسية) رسالة خطأ، ألغِ صحة ذاكرات التخزين المؤقت وأعِد تشغيل "استوديو Android" لإصلاح الخطأ.
تعذُّر عزل طريقة عرض باستخدام "أداة فحص التنسيق"
لا تتوفّر مؤقتًا إمكانية عزل طريقة عرض باستخدام أداة فحص التنسيق المضمّنة. نحن نعمل على حلّ هذه المشكلة في إصدار مستقبلي.
لا يمكن فحص جميع عُقد Compose باستخدام "أداة فحص التنسيق"
إذا لاحظت أنّه لا يمكن فحص جميع عُقد Compose عند استخدام أداة فحص التنسيق، من المحتمل أن يكون ذلك بسبب خطأ تم إصلاحه في الإصدار 1.5.0-alpha04 من Compose. إذا كنت تواجه هذه المشكلة، احرص على الترقية إلى الإصدار 1.5.0-alpha04 أو إصدار أحدث من Compose.
حدث خطأ أثناء عرض معاينة Compose
بدءًا من Android Studio Chipmunk، إذا كنت ترى
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. وفي حال تعذُّر تنفيذ هذه العملية، قد لا يتمكّن بعض المستخدمين الذين ضبطوا خيارات جهاز افتراضي مخصّصة في ملف .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.
يتعذّر بدء Studio بعد الترقية
إذا لم يبدأ Studio بعد الترقية، قد تكون المشكلة ناتجة عن إعداد غير صالح في Android 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" هو PreviewX.Y
بدلاً من X.Y
للإصدار <version>
. على سبيل المثال، تستخدم إصدارات Canary من "استوديو Android" 4.1 الدليل AndroidStudioPreview4.1
بدلاً من الدليل AndroidStudio4.1
المستخدَم في الإصدارات التجريبية والإصدارات الثابتة.
مشكلة في التجميع في مشاريع Kotlin المتوافقة مع عدّة منصات
قد تنشأ أخطاء في التجميع في رمز MPP في Kotlin بسبب الرموز الناقصة. يجب أن تؤدي ترقية مكوّن Kotlin الإضافي إلى الإصدار 1.4 إلى حلّ هذه المشكلة.
تعارضات تعيين المفاتيح على نظام التشغيل Linux
على نظام التشغيل Linux، تتعارض بعض اختصارات لوحة المفاتيح مع اختصارات لوحة المفاتيح التلقائية في Linux وتلك الخاصة ببرامج إدارة النوافذ الشائعة، مثل KDE وGNOME. قد لا تعمل اختصارات لوحة المفاتيح المتعارضة هذه على النحو المتوقّع في Android Studio.
يمكنك العثور على مزيد من المعلومات حول هذه المشكلة (بما في ذلك الحلول البديلة المحتملة) في أداة تتبُّع الأخطاء في IntelliJ.
نص صغير في واجهة المستخدم على ChromeOS
على ChromeOS، قد يظهر النص أصغر بكثير من الإصدارات السابقة. لحلّ هذه المشكلة، اتّبِع الخطوات التالية:
- افتح نافذة الإعدادات من خلال النقر على ملف > الإعدادات
- انتقِل إلى المظهر والسلوك > المظهر.
- انقر على استخدام خط مخصّص.
- زيادة حجم الخط
- في نافذة الإعدادات، انتقِل إلى المحرّر > الخط.
- زيادة حجم الخط
- انقر على موافق.
تعديل الرموز
يوضّح هذا القسم المشاكل المعروفة المتعلّقة بمحرّر الرموز.
تجمُّد إدخال لوحة المفاتيح - مشاكل "iBus" على نظام التشغيل Linux
هناك بعض التفاعلات المعروفة بين برنامج iBus الخفي على Linux و"استوديو Android". في بعض السيناريوهات، يتوقف بيئة التطوير المتكاملة عن الاستجابة لإدخال لوحة المفاتيح أو تبدأ في إدخال أحرف عشوائية. يحدث هذا الخطأ بسبب عدم توفّر بعض المزامنة بين iBus وXLib + AWT، وقد تم الإبلاغ عنه إلى JetBrains وiBus. في ما يلي ثلاثة حلول بديلة حالية لهذه المشكلة:
- الحل 1: فرض وضع التزامن في iBus. قبل بدء Android Studio، نفِّذ ما يلي في سطر الأوامر:
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- الحلّ 2: أوقِف إدخال iBus في "استوديو Android". لإيقاف إدخال iBus
في "استوديو Android" فقط، نفِّذ ما يلي في سطر الأوامر:
لا يؤدي هذا الحل البديل إلا إلى إيقاف أساليب الإدخال في Android Studio، وليس في أي تطبيقات أخرى قد تكون قيد التشغيل. يُرجى العِلم أنّه في حال إعادة تشغيل البرنامج الخفي أثناء تشغيل Android Studio (على سبيل المثال، من خلال تنفيذ$ XMODIFIERS= ./bin/studio.sh
ibus-daemon -rd
)، سيؤدي ذلك إلى إيقاف طرق الإدخال لجميع التطبيقات الأخرى، وقد يؤدي أيضًا إلى تعطُّل JVM في Android Studio بسبب خطأ تجزئة. - الحلّ البديل 3: تحقَّق جيدًا من ربط اختصارات لوحة المفاتيح للتأكّد من أنّ اختصار الإدخال التالي ليس مضبوطًا على Control+Space، لأنّ هذا الاختصار يُستخدم أيضًا لاستكمال الرموز في "استوديو Android". يستخدم نظام التشغيل Ubuntu 14.04 (Trusty)
Super+Space كاختصار تلقائي، ولكن قد تبقى الإعدادات من الإصدارات السابقة. للاطّلاع على عمليات ربط اختصاراتك، شغِّل
ibus-setup
على سطر الأوامر لفتح نافذة "إعدادات IBus المفضّلة". ضِمن اختصارات لوحة المفاتيح، ضَع علامة في المربّع بجانب أسلوب الإدخال التالي. إذا كان الإعداد مضبوطًا على Control+Space، غيِّره إلى Super+Space أو أي اختصار آخر تختاره.
إعدادات المشروع
يوضّح هذا القسم المشاكل المعروفة المتعلّقة بإعدادات المشروع ومزامنة Gradle.
تعذُّر مزامنة 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 sync أو SDK Manager
السبب الأساسي لهذه الأخطاء هو عدم توفّر شهادة في
$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 OS فقط] لا يتم تطبيق التحديثات التزايدية بسبب مشكلة في مراقبة ملف Gradle على المشاريع المحفوظة ضمن /System/Volumes/Data
تؤثّر المشكلة 18149 في Gradle في الإصدار 7.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android والإصدارات الأحدث لأنّها تتطلّب الإصدار 7.0 من نظام Gradle والإصدارات الأحدث. اعتبارًا من الإصدار 7.0 من Gradle، يتم تفعيل ميزة "مراقبة الملفات" تلقائيًا.
إذا كنت تعمل على نظام التشغيل Mac OS وتم حفظ مشروعك ضمن
/System/Volumes/Data
، لن يتم تتبُّع تغييرات الملفات بشكل صحيح من خلال ميزة مراقبة ملفات Gradle.
سيؤدي ذلك إلى عدم رصد "نظام الإنشاء" لأي تغييرات في الملفات، وبالتالي لن يتم تعديل حِزم APK. بعد ذلك، لن ينفّذ رمز النشر التدريجي أي إجراء لأنّ حالة حزمة APK المحلية هي نفسها على الجهاز.
لحلّ هذه المشكلة، عليك نقل دليل مشروعك إلى دليل المستخدم، أي ضمن /Users/username
. سيتم بعد ذلك إعلام نظام التصميم بشكل صحيح بالتغييرات التي تم إجراؤها على الملفات من خلال مراقبة ملفات Gradle، وسيتم تطبيق التغييرات التزايدية بنجاح.
Android Emulator HAXM على نظام التشغيل macOS High Sierra
يتطلّب "محاكي Android" على الإصدار macOS High Sierra (10.13) الإصدار 6.2.1 أو إصدارًا أحدث من HAXM لتحقيق أفضل توافق واستقرار مع نظام التشغيل macOS. ومع ذلك، يتطلّب الإصدار 10.13 من نظام التشغيل macOS إجراء عملية أكثر تعقيدًا لتثبيت إضافات النواة، مثل HAXM. عليك السماح يدويًا بتثبيت إضافة النواة نفسها باتّباع الخطوات التالية:
- أولاً، حاوِل تثبيت أحدث إصدار من HAXM من خلال مدير SDK.
- في نظام التشغيل MacOS، انتقِل إلى الإعدادات المفضَّلة للنظام > الأمان والخصوصية.
إذا ظهر لك تنبيه بأنّه تم حظر تحميل برامج النظام من مطوّر البرامج "Intel Corporation Apps"، انقر على السماح:
لمزيد من المعلومات والحلول البديلة، يُرجى الاطّلاع على صفحة الويب هذه من Apple و المشكلة رقم 62395878.
تطبيق التغييرات
يوضّح هذا القسم المشاكل المعروفة المتعلّقة بخيار تطبيق التغييرات.
لم يتم تطبيق اسم التطبيق الجديد
إذا أعدت تسمية تطبيقك ثم حاولت تطبيق هذا التغيير، قد لا يظهر الاسم المعدَّل. لحلّ هذه المشكلة، انقر على تشغيل
لإعادة نشر تطبيقك والاطّلاع على التغييرات.
حدوث مشكلة في وقت تشغيل Android تؤدي إلى ظهور خطأ
إذا كنت تستخدم جهازًا يعمل بالإصدار 8.0 أو 8.1 من نظام التشغيل Android، قد تظهر لك رسائل "VERIFICATION_ERROR" عند محاولة تطبيق أنواع معيّنة من التغييرات (خاصةً إذا كنت تستخدم Kotlin). تحدث هذه الرسالة بسبب مشكلة في
Android Runtime تم إصلاحها في الإصدار 9.0 من نظام التشغيل Android والإصدارات الأحدث. على الرغم من أنّ المشكلة تتسبّب في تعذُّر تنفيذ ميزة "تطبيق التغييرات"، يمكنك تشغيل تطبيقك مرة أخرى للاطّلاع على التغييرات. ومع ذلك، ننصحك بترقية الجهاز إلى الإصدار 9.0 من نظام التشغيل Android أو إصدار أحدث.
تصحيح الأخطاء والاختبار
يوضّح هذا القسم المشاكل المعروفة المتعلّقة بتصحيح أخطاء تطبيقك واختباره.
عدم توفّر مراجع في مسار الفئة عند تشغيل اختبارات JUnit من "استوديو Android"
إذا كانت لديك مجلدات موارد معيّنة في وحدات Java، لن يتم العثور على هذه الموارد عند تشغيل الاختبارات من بيئة التطوير المتكاملة. سيعمل تشغيل الاختبارات
باستخدام Gradle من سطر الأوامر. يمكنك أيضًا تنفيذ مهمة Gradle check
من بيئة التطوير المتكاملة. يمكنك الاطّلاع على المشكلة
64887 لمزيد من
التفاصيل.
تحدث هذه المشكلة لأنّه اعتبارًا من الإصدار 13 من IntelliJ، يجب أن يكون لديك مجلد واحد فقط كمسار للفئات. تنسخ أداة الإنشاء في IntelliJ جميع الموارد إلى مجلد الإنشاء هذا، ولكن لا ينسخ Gradle الموارد.
- الحل البديل 1: شغِّل مهمة Gradle
check
من بيئة التطوير المتكاملة بدلاً من تشغيل اختبار وحدة. - الحل 2: عدِّل نص الإنشاء البرمجي لنسخ الموارد يدويًا إلى مجلد الإنشاء. يمكنك الاطّلاع على التعليق رقم 13 للحصول على مزيد من المعلومات.
قد يؤدي تشغيل اختبارات JUnit إلى تجميع الرمز مرتين
عند إنشاء مشروع جديد، قد يتم إنشاء إعدادات نموذج JUnit مع خطوتَين من خطوات "قبل التشغيل": الإنشاء والإنشاء المتوافق مع Gradle. يتم بعد ذلك نقل عملية الضبط هذه إلى جميع عمليات ضبط تشغيل JUnit التي تم إنشاؤها.
- لحلّ المشكلة في المشروع الحالي، انقر على تشغيل > تعديل عمليات الضبط وغيِّر عملية الضبط التلقائية في JUnit لتتضمّن خطوة "إنشاء" المتوافقة مع Gradle فقط.
- لحلّ المشكلة في جميع المشاريع المستقبلية، انقر على ملف > إغلاق المشروع. من المفترض أن تظهر لك شاشة الترحيب. بعد ذلك، انقر على ضبط > الإعدادات التلقائية للمشروع > إعدادات التشغيل وغيِّر إعدادات JUnit لتتضمّن خطوة "إنشاء" المتوافقة مع Gradle فقط.
بعض إعدادات التشغيل التجريبي لا تعمل
لا تكون جميع إعدادات التشغيل المتوفّرة عند النقر بزر الماوس الأيمن على طريقة اختبار صالحة. على وجه التحديد، لا تكون الإعدادات التالية صالحة:
- لا تعمل إعدادات تشغيل Gradle (التي تتضمّن شعار Gradle كرمز).
- لا تنطبق إعدادات تشغيل JUnit (التي تحتوي على رمز بدون شعار Android الأخضر) على اختبارات الأجهزة، والتي لا يمكن تشغيلها على JVM المحلي.
إضافة نقاط إيقاف 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
.
أدوات تحليل الأداء
يوضّح هذا القسم المشاكل المعروفة في أدوات Profilers.
أداة Native Memory Profiler: لا يتوفّر تحليل استخدام الذاكرة أثناء بدء تشغيل التطبيق
لا تتوفّر أداة Native Memory Profiler حاليًا أثناء بدء تشغيل التطبيق. سيتوفّر هذا الخيار في إصدار قادم.
كحلّ بديل، يمكنك استخدام أداة Perfetto المستقلة لتحديد الأداء من سطر الأوامر من أجل تسجيل ملفات بدء التشغيل.
أخطاء بسبب انتهاء المهلة في "محلّل وحدة المعالجة المركزية (CPU)"
قد تواجه أخطاء "تعذّر إيقاف التسجيل" في أداة تحليل وحدة المعالجة المركزية في Android Studio عند اختيار الإعدادات أخذ عيّنات من طرق Java أو تتبُّع طرق Java. غالبًا ما تكون هذه الأخطاء مرتبطة بانتهاء المهلة، خاصةً إذا ظهرت لك رسالة الخطأ التالية في الملف idea.log
:
Wait for ART trace file timed out
تميل أخطاء المهلة إلى التأثير في الطرق التي تم تتبُّعها أكثر من الطرق التي تم أخذ عيّنات منها، وفي التسجيلات الأطول أكثر من التسجيلات الأقصر. كحلّ مؤقت، قد يكون من المفيد تجربة تسجيلات أقصر لمعرفة ما إذا كان الخطأ سيختفي.
إذا واجهت مشاكل في انتهاء المهلة مع Profiler، يُرجى إرسال تقرير خطأ يتضمّن طراز جهازك وأي إدخالات ذات صلة من idea.log
وlogcat.
استثناء ADB عند تصحيح الأخطاء أو إنشاء ملفات تعريف
عند استخدام الإصدار 29.0.3 من "أدوات المنصة"، قد لا يعمل تصحيح الأخطاء الأصلي و"أدوات تحليل الأداء" في Android Studio بشكل صحيح، وقد يظهر لك الخطأ "AdbCommandRejectedException" أو "تعذّر ربط المنفذ" في ملف idea.log
عند اختيار مساعدة > عرض السجلّ. يمكن حلّ كلتا المشكلتين من خلال ترقية "أدوات النظام الأساسي" إلى الإصدار 29.0.4 أو إصدار أحدث.
لترقية "أدوات المنصة"، اتّبِع الخطوات التالية:
- افتح "مدير حزمة تطوير البرامج (SDK)" من "استوديو Android" بالنقر على الأدوات > مدير حزمة تطوير البرامج (SDK) أو انقر على مدير حزمة تطوير البرامج (SDK)
في شريط الأدوات.
- ضَع علامة في مربّع الاختيار بجانب Android SDK
Platform-Tools. سيظهر رمز تنزيل
في العمود الأيمن.
- انقر على تطبيق أو حسنًا.
المكوّن الإضافي يمنع نافذة "ناتج الإنشاء" من العمل
يمنع استخدام المكوّن الإضافي CMake simple highlighter ظهور المحتوى في نافذة Build Output. يتم تشغيل الإصدار وتظهر علامة التبويب "ناتج الإنشاء"، ولكن لا يظهر أي ناتج مطبوع (المشكلة رقم 204791544).
ترتيب التثبيت يمنع التشغيل
قد يؤدي تثبيت إصدار أحدث من "استوديو Android" قبل إصدار أقدم إلى منع تشغيل الإصدار الأقدم. على سبيل المثال، إذا ثبّت أولاً الإصدار التجريبي من Android Studio، ثم حاولت تثبيت الإصدار الثابت وتشغيله، قد لا يتم تشغيل الإصدار الثابت. في مثل هذه الحالات، عليك محو ذاكرة التخزين المؤقت لتتمكّن من تشغيل الإصدار الثابت (الأقدم). على نظام التشغيل macOS، لمحو ذاكرة التخزين المؤقت، احذف الدليل Library/ApplicationSupport/Google/AndroidStudioversion_number
. على جهاز Windows، استخدِم أداة تنظيف القرص لمحو ذاكرة التخزين المؤقت.
لا تعمل أداة "مسجّل اختبار Espresso" مع Compose
لا يتوافق Espresso Test Recorder مع المشاريع التي تتضمّن Compose. لإنشاء اختبارات واجهة المستخدم للمشاريع التي تتضمّن Compose، اطّلِع على اختبار تصميم Compose.
يتعارض اختصار Logcat مع تنسيقات لوحة المفاتيح غير الإنجليزية
إذا كنت تستخدم تخطيط لوحة مفاتيح بلغة غير الإنجليزية، قد يتعارض اختصار لوحة مفاتيح Logcat التلقائي مع التخطيط ويمنعك من كتابة أحرف معيّنة عند تعديل النص في "استوديو Android". لحلّ هذه المشكلة، احذف أو أعِد ربط خريطة مفاتيح Logcat المتعارضة. لتعديل خرائط مفاتيح Logcat في Android Studio، انتقِل إلى Android Studio > الإعدادات > خريطة المفاتيح وابحث عن Logcat
في قائمة خرائط المفاتيح. لمزيد من المعلومات، اطّلِع على
المشكلة رقم 263475910.
سيتم حلّ هذه المشكلة من خلال إزالة اختصار Logcat في الإصدار 1 من تصحيح Electric Eel في "استوديو Android".
المشاكل المعروفة في "المكوّن الإضافي لنظام Gradle المتوافق مع Android"
يوضّح هذا القسم المشاكل المعروفة في أحدث إصدار ثابت من المكوّن الإضافي لنظام Gradle المتوافق مع Android.
لا يتم التحقّق من جميع التبعيات في مكتبة الوحدات الديناميكية باستخدام أداة Lint
عند تشغيل أداة lint باستخدام checkDependencies = true
من وحدة تطبيق، لا يتم التحقّق من العناصر الاعتمادية لمكتبة الميزات الديناميكية إلا إذا كانت أيضًا عناصر اعتمادية للتطبيق (المشكلة رقم 191977888).
كحلّ بديل، يمكن تشغيل مهمة Lint على هذه المكتبات.
ملف التوقيع الذي يحمل اسمًا يتضمّن أحرف إرجاع السطر
لا يتيح توقيع ملفات JAR (المخطط الإصدار 1) استخدام أسماء ملفات تحتوي على أحرف إرجاع السطر (المشكلة رقم 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) } } }
مشاكل في توافق الإصدار 7.3.0 من "مكوّن Android الإضافي في Gradle" مع AIDL والإصدار 1.7.x من Kotlin
يؤدي استخدام الإصدار 7.3.0 من "مكوّن Android الإضافي في Gradle" مع KAPT في الإصدار 1.7.x من Kotlin إلى إزالة مجموعات مصادر AIDL لبعض صيغ الإنشاء. سيظل بإمكانك استخدام مجموعات المصادر الأخرى الخاصة بلغة AIDL، بما في ذلك تلك الخاصة بـ main/
وأنواع الإصدارات ونكهات المنتجات ومجموعات نكهات المنتجات. إذا كنت بحاجة إلى استخدام مجموعات مصادر AIDL الخاصة بمتغيرات التطبيق، استمر في استخدام Kotlin 1.6.21.
المشاكل المعروفة التي تم إصلاحها
يصف هذا القسم المشاكل المعروفة التي تم إصلاحها في إصدار حديث. إذا كنت تواجه أيًا من هذه المشاكل، عليك تحديث Android Studio إلى أحدث إصدار ثابت أو إصدار تجريبي.
تم إصلاحها في الإصدار 2021.1.1 من "استوديو Android"
- إخراج Lint مفقود: لا يتم عرض أي نص لإخراج Lint في
stdout
عندما تكون مهمة LintUP-TO-DATE
(المشكلة رقم 191897708). تم إصلاح هذا الخطأ في الإصدار 7.1.0-alpha05 من "مكوّن Android الإضافي في Gradle". - المشاكل المتعلقة بإجراء اختبارات الوحدات لمشروع تطبيق يستخدم مكوّن Hilt الإضافي: يحتوي مسار فئة اختبار الوحدات على فئات التطبيق غير المزوّدة بأدوات، ما يعني أنّ Hilt لا يزوّد فئات التطبيق بأدوات للتعامل مع عملية إدخال التبعية عند إجراء اختبارات الوحدات (المشكلة 213534628). تم إصلاح المشكلة في الإصدار 7.1.1 من "مكوّن Android الإضافي في Gradle".
تم إصلاحها في الإصدار 2020.3.1 من "استوديو Android"
- استثناءات Lint في مشاريع Kotlin: قد تواجه مشاريع Kotlin التي تضبط
checkDependencies = true
استثناءات أو أخطاء مؤشر فارغ (المشكلة رقم 158777858).
تم إصلاحها في "استوديو Android" 4.2
- توقّف بيئة التطوير المتكاملة (IDE) عن العمل على نظام التشغيل macOS Big Sur: قد يتوقّف الإصدار 4.1 من "استوديو Android" عن العمل عند فتح مربّع حوار.
تم إصلاحها في "استوديو Android" 4.1
- إعادة التشغيل لتطبيق إعدادات الذاكرة من الإصدار السابق من بيئة التطوير المتكاملة: بعد تحديث "استوديو Android"، عليك إعادة تشغيله لتطبيق أي إعدادات ذاكرة تم نقلها من إصدار سابق من بيئة التطوير المتكاملة.
- لم يعُد يتم تلقائيًا إنشاء فئة البيان التي تتضمّن سلاسل أذونات مخصّصة: إذا كنت تريد إنشاء الفئة، اضبط
android.generateManifestClass = true
.
تم إصلاحها في الإصدار 3.6 من "استوديو Android"
خطأ في تثبيت حِزم APK على LineageOS: قد يتعذّر نشر تطبيقك على الأجهزة التي تعمل بإصدارات معيّنة من LineageOS أو CyanogenMod، وقد يؤدي ذلك إلى ظهور استثناء
INSTALL_PARSE_FAILED_NOT_APK
.في الإصدار 3.6 من Android Studio Beta 1 والإصدارات الأحدث، يتعامل بيئة التطوير المتكاملة مع هذا الاستثناء من خلال إجراء عملية تثبيت كاملة للتطبيق عند نشره على أجهزة LineageOS أو CyanogenMod، ما قد يؤدي إلى زيادة مدة النشر.
تم إصلاحها في الإصدار 3.5.2 من "استوديو Android"
- نمط رمز XML غير صالح: عند تعديل رمز XML، طبّقت بيئة التطوير المتكاملة نمط رمز غير صحيح عند اختيار الرمز > إعادة تنسيق الرمز من شريط القوائم.
تم إصلاحها في الإصدار 3.3.1 من "استوديو Android"
أخطاء نفاد الذاكرة عند فحص المشاريع المستندة إلى C++: عندما يفحص Gradle مشروعًا يتضمّن رمز C++ في أكثر من موقع جغرافي على محرك الأقراص نفسه، يشمل الفحص جميع الدلائل الموجودة أسفل الدليل المشترك الأول. قد يؤدي فحص عدد كبير من الأدلة والملفات إلى حدوث أخطاء بسبب نفاد الذاكرة.
لمزيد من المعلومات حول هذه المشكلة، يُرجى قراءة الخطأ المرتبط بها.