‫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 Studio إصلاحات للأخطاء التالية:

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

3.1.2 (أبريل 2018)

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

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

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

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

    "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

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

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

3.1.1 (أبريل 2018)

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

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

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

  • تعطّل مصحّح الأخطاء عند تصحيح أخطاء تصميم يتضمّن مربّع نص إذا تم تفعيل ميزة "التوصيف المتقدّم".
  • توقّف Android Studio عن العمل بعد النقر على إصدارات الإنشاء.
  • تم استخراج ملفات 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 لواجهة برمجة التطبيقات) والإصدارات الأحدث فقط.

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

Kotlin

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

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

تحليل رمز Kotlin باستخدام عمليات فحص lint من سطر الأوامر

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

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

أدوات الأداء

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

المحاكي

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

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

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

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

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

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

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

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

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

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

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

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

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