الإصدار 3.1 من "استوديو Android" (آذار/مارس 2018)

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

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

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

  • أصبح الإصدار المُضمَّن من Kotlin هو 1.2.50.
  • يتم إنشاء المشاريع الجديدة باستخدام kotlin-stdlib-jdk* artifacts بدلاً من عناصر kotlin-stdlib-jre* التي تم إيقافها نهائيًا.
  • تم تحسين تحليل قواعد ProGuard في R8.
  • تم إصلاح الأخطاء التالية:
    • تعذّرت محاولة تشغيل فئة Kotlin Main بسبب خطأ: "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)

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

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

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

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

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

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

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

    "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

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

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

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

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

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

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

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

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

IntelliJ 2017.3.3

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

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

تحسينات على تحرير لغة الاستعلامات البنيوية (SQL) باستخدام Room

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

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

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

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

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

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

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

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

    تشمل مزايا المُجمِّع الجديد ما يلي:

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

المُجمِّع وGradle

‫D8 هو المُجمِّع التلقائي لـ DEX

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

يقدّم هذا المُجمِّع الجديد لـ DEX العديد من المزايا، بما في ذلك ما يلي:

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

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

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

        android.enableD8=true
      

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

إزالة رمز برمجي برمجي بشكل تدريجي

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

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

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

        android.enableIncrementalDesugaring=false
      

نافذة النتائج المبسّطة

تم استبدال Gradle Console بـ Build window، التي تتضمّن علامتَي التبويب Sync وBuild.

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

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

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

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 من سطر الأوامر فئات Kotlin.

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

أدوات الأداء

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

المحاكي

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

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

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

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

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

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

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

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

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

  • تم نقل العديد من الأوامر مباشرةً أسفل قائمة الأدوات.
  • تم نقل الأمر مزامنة المشروع مع ملفات Gradle إلى قائمة ملف.
  • تمّت إزالة الأمر Device Monitor (مراقبة الجهاز) كما هو описан أدناه.

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

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

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