‫استوديو Android 3.1 (مارس 2018)

‫استوديو Android 3.1.0 هو إصدار رئيسي يتضمّن مجموعة متنوّعة من الميزات والتحسينات الجديدة.

‫3.1.4 (أغسطس 2018)

يتضمّن هذا التحديث للإصدار 3.1 من Android Studio التغييرات والإصلاحات التالية:

  • أصبح إصدار Kotlin المضمّن هو 1.2.50.
  • يتم إنشاء المشاريع الجديدة باستخدام kotlin-stdlib-jdk* artifacts بدلاً من عناصر kotlin-stdlib-jre* التي تم إيقافها نهائيًا.
  • تم تحسين تحليل R8 لقواعد ProGuard.
  • تم إصلاح الأخطاء التالية:
    • تعذّر تنفيذ فئة Kotlin الرئيسية بسبب حدوث خطأ: "Error: Could not find or load main class..."
    • حدثت حلقة تكرار لا نهائية في R8 أثناء تنفيذ بعض عمليات التحسين.
    • كان استخدام الأمر إعادة تنفيذ الاختبارات الفاشلة في نافذة التنفيذ يؤدي أحيانًا إلى عرض الرسالة "لم يتم العثور على أي اختبارات" بشكل غير صحيح.
    • لم يتعامل D8 بشكل صحيح مع مثيلات invoke-virtual، ما تسبّب في حدوث عطل مع VerifyError: invoke-super/virtual can't be used on private method
    • كان برنامج التحويل البرمجي Data Binding يعتمد على إصدار قديم من com.android.tools:annotations. يستخدم المحول البرمجي الآن تعليقات توضيحية للأدوات من المشروع الأساسي عند توفّرها.
    • تعطّل "استوديو Android" أثناء عمليات انتقال الأجزاء عند استخدام أدوات تحليل الأداء.
    • تعطّل مصحّح الأخطاء عند تصحيح أخطاء تصميم يتضمّن مربّع نص.
    • تعذّر على D8 قراءة بعض ملفات ZIP التي تحتوي على رموز خاصة.

‫3.1.3 (يونيو 2018)

يتضمّن هذا التحديث للإصدار 3.1 من "استوديو Android" إصلاحات للأخطاء التالية:

  • كانت تسريبات الذاكرة تؤدي إلى بطء أداء استوديو Android وعدم استجابته بعد استخدام "أداة تعديل التنسيق". يتضمّن هذا التحديث إصلاحات لمعظم هذه المشاكل. وننوي طرح تحديث آخر قريبًا لمعالجة المزيد من المشاكل المتعلّقة بتسرُّب الذاكرة.
  • تعطّلت بعض التطبيقات التي تم إنشاؤها باستخدام D8 على بعض أجهزة Verizon Ellipsis اللوحية.
  • تعذّر تثبيت التطبيقات التي تم إنشاؤها باستخدام D8 مع ظهور الخطأ INSTALL_FAILED_DEXOPT على الأجهزة التي تعمل بالإصدار 5.0 أو 5.1 من نظام التشغيل Android (مستوى واجهة برمجة التطبيقات 21 أو 22).
  • تعطّلت بعض التطبيقات التي استخدمت مكتبة OkHttp وتم إنشاؤها باستخدام D8 على الأجهزة التي تعمل بالإصدار 4.4 من نظام التشغيل Android (مستوى واجهة برمجة التطبيقات 19).
  • في بعض الأحيان، كان يتعذّر بدء تشغيل "استوديو Android"، مع ظهور ProcessCanceledException أثناء عملية إعداد الفئة com.intellij.psi.jsp.JspElementType.

‫3.1.2 (أبريل 2018)

يتضمّن هذا التحديث للإصدار 3.1 من "استوديو Android" إصلاحات للأخطاء التالية:

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

    "The SourceSet name is not recognized by the Android Gradle Plugin."

  • عند تفعيل ميزة "التشغيل الفوري"، تعذّر إنشاء مشاريع Kotlin جديدة عند تشغيلها باستخدام الأمر تشغيل.
  • أثناء تعديل ملف build.gradle، كان يحدث أحيانًا تأخير ملحوظ بين كتابة حرف وظهوره على الشاشة.
  • حدثت أخطاء في الإنشاء أثناء عملية تحويل الرمز البرمجي إلى DEX في بعض المشاريع التي تحتوي على أعداد كبيرة من الوحدات أو التبعيات الخارجية، مع ظهور رسالة الخطأ التالية:

    "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

  • لم تكن عملية احتساب قائمة DEX الرئيسية في D8 تأخذ في الاعتبار بعض عمليات الاستدعاء الانعكاسية.

يتضمّن هذا التحديث أيضًا تغييرات تجعل عمليات التحقّق من lint التي يتم تنفيذها من Gradle أسرع بكثير في بعض السيناريوهات.

‫3.1.1 (أبريل 2018)

يتضمّن هذا التحديث للإصدار 3.1 من "استوديو Android" إصلاحات للأخطاء التالية:

  • في بعض الحالات، عند فتح مشروع تم إنشاؤه في "استوديو Android" 3.0 للمرة الأولى في "استوديو Android" 3.1، تمت إزالة مهمة Make المتوافقة مع Gradle من منطقة قبل الإطلاق في إعدادات التشغيل/تصحيح الأخطاء. ونتيجةً لذلك، لم يتم إنشاء المشاريع عند النقر على الزر تشغيل أو تصحيح الأخطاء، ما أدّى بدوره إلى حدوث أخطاء، مثل نشر حِزم APK غير صحيحة وتعطُّل التطبيق عند استخدام "التشغيل الفوري".

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

  • تعطّل مصحّح الأخطاء عند تصحيح أخطاء تصميم يتضمّن مربّع نص إذا تم تفعيل ميزة "التوصيف المتقدّم".
  • توقّف "استوديو Android" عن العمل بعد النقر على إصدارات الإنشاء.
  • تم استخراج ملفات AAR (أرشيف Android) مرتين، مرة أثناء عملية المزامنة في Gradle ومرة أثناء عملية التصميم في Gradle.
  • كانت بعض العناصر مفقودة من الرسومات المتجهة المستوردة من ملفات SVG.
  • تم تعديل التحذير بشأن إيقاف إعدادات التبعية compile نهائيًا، وتمت إضافة إرشادات أفضل بشأن إعدادات implementation وapi. للاطّلاع على تفاصيل حول إيقاف استخدام إعدادات compile، يُرجى الرجوع إلى المستندات الخاصة بإعدادات التبعيات الجديدة.

الترميز/بيئة التطوير المتكاملة

IntelliJ 2017.3.3

تم تعديل بيئة التطوير المتكاملة الأساسية في "استوديو Android" من خلال تحسينات من IntelliJ IDEA حتى الإصدار 2017.3.3. وتشمل التحسينات تحليلًا أفضل لتدفّق التحكّم في المجموعات والسلاسل، واستنتاجًا محسّنًا لإمكانية قبول القيم الفارغة، وإصلاحات سريعة جديدة، وغير ذلك الكثير.

للحصول على التفاصيل، راجِع ملاحظات إصدار JetBrains للإصدارَين 2017.2 و2017.3 من IntelliJ IDEA، بالإضافة إلى ملاحظات إصدار JetBrains لتحديثات إصلاح الأخطاء.

تحسينات على تعديل SQL باستخدام Room

عند استخدام مكتبة قاعدة بيانات Room، يمكنك الاستفادة من العديد من التحسينات على تعديل SQL:

  • تتيح ميزة إكمال الرمز البرمجي ضمن Query فهم جداول SQL (الكيانات) والأعمدة ومَعلمات طلب البحث والأسماء المستعارة وعمليات الدمج والاستعلامات الفرعية وعبارات WITH.
  • أصبح بإمكانك الآن تمييز بنية SQL.
  • يمكنك النقر بزر الماوس الأيمن على اسم جدول في لغة الاستعلامات البنيوية (SQL) وإعادة تسميته، ما يؤدي أيضًا إلى إعادة كتابة رمز Java أو Kotlin المقابل (بما في ذلك، على سبيل المثال، نوع القيمة التي تم إرجاعها للاستعلام). تعمل عملية إعادة التسمية في الاتجاه الآخر أيضًا، لذا تؤدي إعادة تسمية فئة أو حقل Java إلى إعادة كتابة رمز SQL المقابل.
  • تظهر استخدامات SQL عند استخدام العثور على الاستخدامات (انقر بزر الماوس الأيمن واختَر العثور على الاستخدامات من قائمة السياق).
  • للانتقال إلى تعريف عنصر SQL في رمز Java أو Kotlin، يمكنك الضغط مع الاستمرار على مفتاح Control (أو Command على جهاز Mac) أثناء النقر على العنصر.

للحصول على معلومات حول استخدام SQL مع Room، راجِع حفظ البيانات في قاعدة بيانات محلية باستخدام Room.

تعديلات على ربط البيانات

يتضمّن هذا التحديث العديد من التحسينات على ربط البيانات:

  • يمكنك الآن استخدام كائن LiveData كحقل قابل للمراقبة في تعبيرات ربط البيانات. تتضمّن الفئة ViewDataBinding الآن طريقة setLifecycle() جديدة يمكنك استخدامها لمراقبة عناصر LiveData.

  • يمكن لفئة ObservableField الآن قبول كائنات Observable أخرى في الدالة الإنشائية.

  • يمكنك معاينة أداة تجميع تصاعدية جديدة لفئات ربط البيانات. للاطّلاع على تفاصيل برنامج التجميع الجديد هذا وتعليمات تفعيله، يُرجى الرجوع إلى الإصدار 2 من برنامج تجميع ربط البيانات.

    تشمل مزايا المحول البرمجي الجديد ما يلي:

    • يتم إنشاء فئات ViewBinding من خلال المكوّن الإضافي لنظام Gradle المتوافق مع Android قبل برنامج تجميع Java.
    • تحتفظ المكتبات بفئات الربط التي تم إنشاؤها عند تجميع التطبيق، بدلاً من إعادة إنشائها في كل مرة. ويمكن أن يؤدي ذلك إلى تحسين الأداء بشكل كبير في المشاريع التي تتضمّن وحدات متعددة.

برنامج التجميع وGradle

‫D8 هو برنامج الترجمة البرمجية التلقائي لملفات DEX

يتم الآن استخدام برنامج التجميع D8 تلقائيًا لإنشاء رمز بايت DEX.

يوفّر برنامج الترجمة البرمجية الجديد هذا العديد من المزايا، بما في ذلك ما يلي:

  • Faster dexing
  • تقليل استخدام الذاكرة
  • تحسين عملية إنشاء الرموز البرمجية (تخصيص أفضل للتسجيل، وجداول سلاسل أكثر ذكاءً)
  • تجربة أفضل لتصحيح الأخطاء عند تتبُّع تنفيذ التعليمات البرمجية

ولن تحتاج إلى إجراء أي تغييرات على الرمز البرمجي أو سير عمل التطوير للاستفادة من هذه المزايا، إلا إذا كنت قد أوقفت برنامج D8 المترجم يدويًا في السابق.

إذا ضبطت android.enableD8 على false في gradle.properties، عليك إما حذف هذا الخيار أو ضبطه على true:

        android.enableD8=true
      

لمزيد من التفاصيل، يُرجى الاطّلاع على مترجم DEX الجديد.

إزالة التشويش التدريجية

بالنسبة إلى المشاريع التي تستخدم ميزات لغة Java 8، يتم تفعيل عملية إلغاء التحويل التدريجي تلقائيًا، ما يمكن أن يحسّن من مدة الإنشاء.

تحوّل عملية إزالة السكر النحوي السكر النحوي إلى شكل يمكن للمترجم البرمجي معالجته بكفاءة أكبر.

يمكنك إيقاف عملية إزالة التشويش التدريجية من خلال تحديد ما يلي في ملف gradle.properties الخاص بمشروعك:

        android.enableIncrementalDesugaring=false
      

نافذة الإخراج المبسّطة

تم استبدال وحدة تحكّم Gradle بنافذة إنشاء التي تحتوي على علامتَي التبويب مزامنة وإنشاء.

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

التحديثات المجمّعة والفهرسة المتزامنة

أصبحت عمليات مزامنة Gradle وفهرسة بيئة التطوير المتكاملة أكثر كفاءة، ما يقلّل الوقت المستغرَق في العديد من عمليات الفهرسة المكرّرة.

‫C++ وLLDB

أجرينا العديد من التحسينات على الجودة والأداء في مراحل الترميز والمزامنة والإنشاء وتصحيح الأخطاء في عملية تطوير C++. تشمل التحسينات ما يلي:

  • إذا كنت تعمل على مشاريع C++ كبيرة، ستلاحظ تحسّنًا كبيرًا في تقليل الوقت المستغرَق في إنشاء الرموز. كما تم تقليل وقت المزامنة بشكل كبير للمشاريع الكبيرة.

  • تم تحسين الأداء عند الإنشاء والمزامنة باستخدام CMake من خلال إعادة استخدام النتائج المخزّنة مؤقتًا بشكل أكثر فعالية.

  • تسهّل إضافة أدوات التنسيق ("أدوات الطباعة الجميلة") إلى المزيد من هياكل بيانات C++ قراءة ناتج LLDB.

  • لا يتوافق مصحّح أخطاء LLDB الآن إلا مع الإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات) والإصدارات الأحدث.

ملاحظة: لا يمكن إجراء تصحيح الأخطاء الأصلي باستخدام Android Studio 3.0 أو الإصدارات الأحدث على نظام التشغيل Windows 32 بت. إذا كنت تستخدم نظام التشغيل Windows 32 بت وتحتاج إلى تصحيح أخطاء الرمز البرمجي الأصلي، استخدِم الإصدار 2.3 من "استوديو Android".

Kotlin

تمت ترقية Kotlin إلى الإصدار 1.2.30

يتضمّن الإصدار 3.1 من "استوديو Android" Kotlin الإصدار 1.2.30.

تحليل رموز Kotlin البرمجية الآن باستخدام أداة lint للتحقّق من سطر الأوامر

يمكنك الآن تحليل فئات Kotlin عند تشغيل أداة lint من سطر الأوامر.

لكل مشروع تريد تشغيل أداة lint عليه، يجب تضمين مستودع Google Maven في ملف build.gradle ذي المستوى الأعلى. يتم تضمين مستودع Maven تلقائيًا في المشاريع التي تم إنشاؤها في الإصدار 3.0 من "استوديو Android" والإصدارات الأحدث.

أدوات الأداء

عينات من عمليات C++ الأصلية باستخدام محلّل وحدة المعالجة المركزية (CPU)

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

يمكنك تغيير الإعدادات التلقائية، مثل فاصل أخذ العيّنات، من خلال إنشاء إعدادات تسجيل.

للعودة إلى تتبُّع سلاسل Java، اختَر إعداد تم أخذ عينات منه (Java) أو تم قياسه (Java).

فلترة عمليات تتبُّع وحدة المعالجة المركزية ونتائج تخصيص الذاكرة وعمليات تفريغ الذاكرة

يتضمّن كل من محلّل وحدة المعالجة المركزية (CPU) ومحلّل الذاكرة ميزة بحث تتيح لك فلترة النتائج من تسجيل سجلّ الإجراءات أو عمليات تخصيص الذاكرة أو لقطة لأجزاء من الذاكرة.

للبحث، انقر على فلتر في أعلى يسار اللوحة، واكتب طلب البحث، ثم اضغط على Enter.

ملاحظة: يمكنك أيضًا فتح حقل البحث من خلال الضغط على Control + F (Command + F على أجهزة Mac).

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

لمزيد من المعلومات حول الفلترة حسب الطريقة أو الفئة أو اسم الحزمة، راجِع مقالة تسجيل عمليات تتبُّع الطرق وفحصها.

علامة التبويب "الطلب" في "أداة تحليل الشبكة"

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

عرض سلاسل المحادثات في "محلّل الشبكة"

بعد اختيار جزء من المخطط الزمني في محلّل الشبكة، يمكنك اختيار إحدى علامات التبويب التالية للاطّلاع على مزيد من التفاصيل حول نشاط الشبكة خلال هذا الإطار الزمني:

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

أداة فحص التنسيق

تضمّنت أداة فحص التنسيق ميزات جديدة، بما في ذلك بعض الوظائف التي كانت توفّرها سابقًا الأداتان المتوقّفتان Hierarchy Viewer وPixel Perfect:

  • أزرار التكبير/التصغير واختصارات لوحة المفاتيح للتنقل بين التنسيقات وفحصها
  • عنصر مُركّب على شبكة المراجع
  • إمكانية تحميل صورة مرجعية واستخدامها كطبقة متراكبة (مفيدة لمقارنة التصميم بنموذج أولي لواجهة المستخدم)
  • معاينة الشجرة الفرعية لعزل طريقة عرض في تخطيط معقّد

أداة تعديل التنسيق

تم إجراء العديد من التحسينات على لوحة الألوان في أداة تعديل التصميم، وهي:

يمكنك استخدام الأمر الجديد تحويل العرض في شجرة المكوّنات أو أداة تعديل التصميم لتحويل عرض أو تخطيط إلى نوع آخر من العرض أو التخطيط.

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

التشغيل و"التشغيل الفوري"

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

عند استهداف جهاز يعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث، يمكن أن تنشر ميزة التشغيل الفوري التغييرات على الموارد بدون التسبّب في إعادة تشغيل التطبيق. وهذا ممكن لأنّ الموارد مضمّنة في حزمة APK مقسّمة.

المحاكي

للحصول على تفاصيل حول الميزات الجديدة والتغييرات التي تم إجراؤها على المحاكي منذ الإصدار 3.0 من "استوديو Android"، راجِع ملاحظات إصدار Android Emulator من الإصدار 27.0.2 إلى الإصدار 27.1.12.

تشمل التحسينات الرئيسية ما يلي:

  • لقطات Quick Boot لحفظ حالة المحاكي وبدء التشغيل بشكل أسرع، مع إمكانية استخدام الأمر الحفظ الآن لحفظ حالة بدء مخصّصة
  • شاشة المحاكي بدون نوافذ
  • صور نظام Android 8.0 (المستوى 26 لواجهة برمجة التطبيقات) وAndroid 8.1 (المستوى 27 لواجهة برمجة التطبيقات) وAndroid P Developer Preview

تحسينات على واجهة المستخدم وتجربة المستخدم

المزيد من تلميحات الأدوات واختصارات لوحة المفاتيح والرسائل المفيدة

أضفنا تلميحات وأوصافًا مفيدة في مواضع عديدة ضمن "استوديو Android".

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

الأدوات > تمت إزالة قائمة Android

تمت إزالة قائمة الأدوات > Android. تم نقل الأوامر التي كانت تظهر سابقًا ضمن هذه القائمة.

  • تم نقل العديد من الأوامر إلى أسفل قائمة الأدوات مباشرةً.
  • تم نقل الأمر مزامنة المشروع مع ملفات Gradle إلى قائمة ملف.
  • تمت إزالة الأمر مراقبة الجهاز، كما هو موضّح أدناه.

تتوفّر أداة "مراقبة الجهاز" من سطر الأوامر

في الإصدار 3.1 من استوديو Android، لم يعُد "مراقب الجهاز" يؤدي الدور نفسه الذي كان يؤديه في السابق. في كثير من الحالات، يتم توفير الوظائف المتاحة من خلال "مراقبة الجهاز" باستخدام أدوات جديدة ومحسّنة.

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