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

تتبع هذه الصفحة المشكلات المعروفة في استوديو Android المكوّن الإضافي Koala وAndroid Gradle 8.5.0 في حال مواجهة مشكلة لم يتم تضمينها في السابق يُرجى الإبلاغ عن خطأ هنا.

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

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

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

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

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

لا يمكن عزل طريقة عرض باستخدام Layout Inspector (أداة فحص التنسيق)

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

لا يمكن فحص عُقد الإنشاء كلها باستخدام "أداة فحص التنسيق"

إذا لاحظت أنه ليست كل عُقد 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" الآن على إصدار JDK 11. هذا التحديث إلى حدوث تغيير أساسي في السلوك المتعلق بمفاتيح التوقيع.

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

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

للتغلب على هذه المشكلة، أدخل كلمة المرور نفسها لكل من المفتاح ملف تخزين المفاتيح.

لا يبدأ "استوديو Android" بعد تثبيت الإصدار 4.2

يحاول "استوديو YouTube" استيراد البيانات السابقة .vmoptions وصححها للعمل مع أداة تجميع البيانات المهملة التي يستخدمها 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

إذا تعذّر تشغيل "استوديو YouTube" بعد تجربة هذا الحل البديل، راجِع لا تعمل "استوديو YouTube" بعد الترقية أدناه.

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

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

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

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

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

إذا لم يبدأ "استوديو YouTube" بعد الترقية، قد تكون المشكلة ناتجة عن أداة غير صالحة تم استيراد إعدادات "استوديو Android" من إصدار سابق من "استوديو Android". أو مكوّن إضافي غير متوافق. وكحل بديل، حاول حذف (أو إعادة التسمية، (لأغراض الاحتفاظ بنسخة احتياطية) الدليل أدناه، بناءً على إصدار استوديو 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 والإصدار التجريبي من Android الاستوديو هو PreviewX.Y بدلاً من X.Y <version> على سبيل المثال، يستخدم Android تستخدم إصدارات Studio 4.1 Canary واجهة AndroidStudioPreview4.1، بدلاً من دليل AndroidStudio4.1 يُستخدم للإصدارات المرشحة للإصدار والإصدار الثابت والإصدارات.

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

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

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

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

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

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

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

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

تعديل الرموز

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

إدخال لوحة المفاتيح المجمّدة - "iBus" مشكلات في Linux

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

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

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

يصف هذا القسم المشاكل المعروفة المتعلقة بتهيئة المشروع ونظام Gradle المزامنة.

فشلت مزامنة Gradle: ممر غير صالح

وتكمن المشكلة في أن برنامج Gradle الخفي يحاول استخدام IPv4 بدلاً من 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 وتم حفظ مشروعك ضمن /System/Volumes/Data، لن تتتبّع مشاهدة ملفات Gradle التغييرات على الملفات بشكل صحيح. سيؤدي ذلك إلى عدم ملاحظة نظام الإصدار لأي تغييرات في الملفات ولذلك لا يتم تحديث حِزم APK. سينفّذ رمز النشر التزايدي لا شيء لأنّ حالة حزمة APK المحلية هي نفسها على الجهاز.

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

Android Emulator HAXM على macOS High Sierra

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

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

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

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

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

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

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

ظهور خطأ في "وقت تشغيل Android"

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

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

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

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

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

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

  • الحل الأول: تشغيل مهمة Gradle check من بيئة التطوير المتكاملة (IDE) وإجراء اختبار وحدة.
  • الحل الثاني: تعديل النص البرمجي للإصدار لنسخ الموارد يدويًا إلى مجلد الإصدار. عرض التعليق رقم 13 لمزيد من المعلومات.

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

عند إنشاء مشروع جديد، قد يتم إنشاء نموذج JUnit لإعداد مع عبارة "قبل الإطلاق" الخطوات: "وضع الصنع" و"الإنشاء المستند إلى Gradle". هذه الإعدادات ثم يتم نشره على جميع تهيئات تشغيل JUnit التي تم إنشاؤها.

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

بعض إعدادات إجراء الاختبار لا تعمل

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

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

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

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

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

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

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

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

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

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

مسجِّلو اللقطات

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

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

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

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

أخطاء انتهاء المهلة في محلّل وحدة المعالجة المركزية (CPU)

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

Wait for ART trace file timed out

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

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

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

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

لترقية أدوات المنصة، عليك إجراء ما يلي:

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

يمنع المكون الإضافي تشغيل نافذة ناتج الإصدار

يؤدي استخدام المكوِّن الإضافي CMake Simple Installer إلى منع ظهور المحتوى في نافذة ناتج الإصدار. يتم تشغيل الإصدار وتظهر علامة التبويب "Build Output" (إخراج الإصدار)، لكن لم تتم طباعة أي نتائج (المشكلة رقم 204791544).

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

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

مسجّل اختبار Espresso غير متوافق مع ميزة Compose

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

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

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

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

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

لم يعد ملف البيانOutputFile متاحًا.

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

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

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

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

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

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

  • توقف IDE على macOS Big Sur: قد يتوقّف الإصدار Android Studio 4.1 عن العمل عند افتح مربع حوار.

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

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

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

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

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

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

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

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

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

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