Android Studio 3.1 (آذار/مارس 2018)

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

3.1.4 (آب/أغسطس 2018)

يشمل هذا التحديث إلى الإصدار 3.1 من "استوديو Android" التغييرات والإصلاحات التالية:

  • أصبحت الآن لغة 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
    • كان برنامج تجميع البيانات المرتبط بالبيانات يعتمد على إصدار قديم من com.android.tools:annotations. يستخدم برنامج تجميع البيانات الآن التعليقات التوضيحية للأدوات من المشروع الأساسي عند توفّرها.
    • تعطل "استوديو Android" أثناء عمليات انتقال الأجزاء عند استخدام المحللين.
    • تعطّل برنامج تصحيح الأخطاء عند تصحيح أخطاء تنسيق باستخدام مربّع نص.
    • تعذّر على D8 قراءة بعض ملفات ZIP التي تحتوي على رموز خاصة.

3.1.3 (حزيران/يونيو 2018)

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

  • تسبب تسرُّب الذاكرة في بطء أداء "استوديو Android" وعدم الاستجابة بعد استخدام "محرِّر التنسيق". يتضمّن هذا التحديث إصلاحات لمعظم هذه المشاكل. ونعتزم طرح تحديث آخر قريبًا لمعالجة عمليات التسرّب الإضافية في الذاكرة.
  • تعطلت بعض التطبيقات التي تم إنشاؤها باستخدام D8 على بعض أجهزة Verizon Ellipsis اللوحية.
  • تعذّر تثبيت التطبيقات التي تم إنشاؤها باستخدام D8 مع ظهور خطأ INSTALL_FAILED_DEXOPT على الأجهزة التي تعمل بنظام التشغيل Android 5.0 أو Android 5.1 (المستوى 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 الجديدة عند تشغيلها باستخدام الأمر Run.
  • أثناء تعديل ملف build.gradle، كان هناك أحيانًا تأخير ملحوظ بين كتابة الحرف والحرف الذي يظهر على الشاشة.
  • حدثت إخفاقات في الإنشاء أثناء عملية الإرسال في بعض المشاريع التي تحتوي على أعداد كبيرة من الوحدات أو تعتمد على التبعيات الخارجية، وتظهر رسالة الخطأ التالية:

    "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

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

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

3.1.1 (نيسان/أبريل 2018)

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

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

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

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

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

IntelliJ 2017.3.3

تم تحديث نظام Android Studio IDE الأساسي ليشمل تحسينات من IntelliJ IDEA وصولاً إلى الإصدار 2017.3.3. تشمل التحسينات تحليلاً أفضل لتدفق التحكّم في المجموعات والسلاسل، وتحسين الاستنتاجات، وإجراء إصلاحات سريعة جديدة، وغير ذلك الكثير.

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

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

عند استخدام مكتبة قاعدة بيانات الغرفة، يمكنك الاستفادة من العديد من التحسينات على تعديل لغة الاستعلامات البنيوية (SQL):

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

للحصول على معلومات حول استخدام لغة الاستعلامات البنيوية (SQL) مع الغرفة، يُرجى الاطّلاع على حفظ البيانات في قاعدة بيانات محلية باستخدام الغرفة.

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

يتضمّن هذا التعديل عدّة تحسينات بشأن ربط البيانات:

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

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

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

    تشمل مزايا برنامج التجميع الجديد ما يلي:

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

برنامج التحويل البرمجي وأداة Gradle

D8 هو المحول البرمجي التلقائي لـ DEX

ويُستخدم المحول البرمجي D8 الآن بشكل افتراضي لإنشاء رمز بايت DEX.

يوفّر المحول البرمجي الجديد DEX هذا فوائد عديدة، منها ما يلي:

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

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

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

        android.enableD8=true
      

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

الإزالة التزايدية

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

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

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

        android.enableIncrementalDesugaring=false
      

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

تم استبدال أداة Gradle Console بنافذة إنشاء التي تتضمّن علامتَي التبويب مزامنة وإنشاء.

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

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

أصبحت الآن عمليات مزامنة Gradle وفهرسة IDE أكثر فعاليةً الآن، ما يقلّل من الوقت الضائع في العديد من عمليات الفهرسة المتكرّرة.

C++ وLLDB

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

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

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

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

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

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

Kotlin

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

يتضمن الإصدار Android Studio 3.1 الإصدار 1.2.30 من Kotlin.

تم الآن تحليل رمز Kotlin

تؤدّي الآن ميزة تشغيل Linux من سطر الأوامر إلى تحليل فئات Kotlin.

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

أدوات الأداء

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

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

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

للرجوع إلى تتبُّع سلاسل المحادثات في Java، اختَر إعداد عيّنة (Java) أو Measuremented (Java).

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

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

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

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

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

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

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

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

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

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

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

أداة فحص التصميم

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

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

محرّر التنسيق

تم إدخال العديد من التحسينات على لوحة الألوان في محرّر التنسيق:

  • إعادة تنظيم الفئات لطرق العرض والتنسيقات.
  • فئة Common جديدة لطرق العرض والتنسيقات، والتي يمكنك الإضافة إليها باستخدام الأمر Favorite.
  • تم تحسين البحث عن طرق العرض والتنسيقات.
  • أوامر جديدة لفتح المستندات لطريقة عرض أو عنصر تنسيق محدّد

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

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

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

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

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

المحاكي

لمعرفة تفاصيل الميزات الجديدة والتغييرات في المحاكي منذ Android Studio 3.0، يمكنك الاطّلاع على ملاحظات إصدار Android Emulator من الإصدار 27.0.2 إلى الإصدار 27.1.12.

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

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

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

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

لقد أضفنا تلميحات وتراكبات رسائل مفيدة في العديد من المواضع في "استوديو Android".

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

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

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

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

تتوفّر أداة Device Monitor من سطر الأوامر

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

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