استوديو Android 3.1 (مارس 2018)
استوديو Android 3.1.0 هو إصدار رئيسي يتضمّن مجموعة متنوّعة من الميزات والتحسينات الجديدة.
3.1.4 (أغسطس 2018)
يتضمّن هذا التحديث لإصدار Android Studio 3.1 التغييرات والإصلاحات التالية:
- الإصدار المضمّن من Kotlin هو الآن 1.2.50.
-
يتم إنشاء المشاريع الجديدة باستخدام
kotlin-stdlib-jdk* artifacts، بدلاً منkotlin-stdlib-jre*artifacts، التي تم إيقافها نهائيًا. - تم تحسين تحليل R8 لقواعد ProGuard.
- تم إصلاح الأخطاء التالية:
-
تعذّر تشغيل الفئة 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 3.1 إصلاحات للأخطاء التالية:
- أدّت تسرّبات الذاكرة إلى بطء استوديو Android وعدم استجابته بعد استخدام "أداة تعديل التنسيق". يتضمّن هذا التحديث إصلاحات لمعظم هذه المشاكل. ونحن بصدد طرح تحديث آخر قريبًا لـ معالجة تسرّبات الذاكرة الإضافية.
- تعطّلت بعض التطبيقات التي تم إنشاؤها باستخدام أداة D8 على بعض أجهزة Verizon Ellipsis اللوحية.
-
تعذّر تثبيت التطبيقات التي تم إنشاؤها باستخدام أداة D8 بسبب ظهور الخطأ
INSTALL_FAILED_DEXOPTعلى الأجهزة التي تعمل بنظام التشغيل Android 5.0 أو 5.1 (مستوى واجهة برمجة التطبيقات 21 أو 22). - تعطّلت بعض التطبيقات التي استخدمت مكتبة OkHttp وتم إنشاؤها باستخدام أداة D8 على الأجهزة التي تعمل بنظام التشغيل Android 4.4 (المستوى 19 من واجهة برمجة التطبيقات).
-
أحيانًا، كان يتعذّر بدء تشغيل استوديو Android بسبب ظهور
ProcessCanceledExceptionأثناء تهيئة الفئةcom.intellij.psi.jsp.JspElementType.
3.1.2 (أبريل 2018)
يتضمّن هذا التحديث لإصدار استوديو Android 3.1 إصلاحات للأخطاء التالية:
- في بعض الحالات، كان استوديو 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)
يتضمّن هذا التحديث لإصدار استوديو Android 3.1 إصلاحات للأخطاء التالية:
-
في بعض الحالات، عند فتح مشروع تم إنشاؤه في استوديو Android 3.0 للمرة الأولى في استوديو Android 3.1، تمت إزالة مهمة "إنشاء" التي تستخدم Gradle من منطقة قبل التشغيل في إعدادات التشغيل/تصحيح الأخطاء. وكانت النتيجة عدم إنشاء المشاريع عند النقر على الزر تشغيل أو تصحيح الأخطاء، ما أدّى بدوره إلى حدوث أخطاء، مثل نشر حِزم APK غير صحيحة وتعطُّل التطبيق عند استخدام ميزة "التشغيل الفوري".
لحلّ هذه المشكلة، يضيف استوديو Android 3.1.1 مهمة "إنشاء" التي تستخدم Gradle إلى إعدادات التشغيل للمشاريع التي لا تتضمّن هذا الإدخال. يحدث هذا التعديل بعد المزامنة الأولى مع Gradle عند تحميل المشروع.
- حدث عطل في أداة تصحيح الأخطاء عند تصحيح أخطاء تنسيق يتضمّن مربّع نص إذا تم تفعيل ميزة تحديد المشاكل وحلّها المتقدّمة.
- توقّف استوديو Android عن الاستجابة بعد النقر على صيغ الإصدار.
- تم استخراج ملفات AAR (أرشيف Android) مرّتين، مرة أثناء عملية المزامنة مع Gradle ومرة أثناء عملية إنشاء Gradle.
- كانت بعض العناصر غير متوفّرة في بعض الرسومات المتجهة التي تم استيرادها من ملفات SVG.
-
تم تعديل التحذير بشأن إيقاف إعدادات الاعتمادية
compileنهائيًا، مع توفير إرشادات أفضل بشأن إعداداتimplementationوapi. للاطّلاع على تفاصيل عملية نقل البيانات من استخدام إعداداتcompile، يُرجى مراجعة مستندات إعدادات التبعية الجديدة.
الترميز/بيئة التطوير المتكاملة
IntelliJ 2017.3.3
تم تحديث بيئة التطوير المتكاملة الأساسية في Android Studio باستخدام تحسينات من 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.
تشمل مزايا جامع مادة الكتاب الجديد ما يلي:
-
يُنشئ المكوّن الإضافي لنظام Gradle المتوافق مع Android فئات
ViewBindingقبل جامع مادة كتاب Java. - تحتفظ المكتبات بفئات الربط التي تم إنشاؤها عند تجميع التطبيق، بدلاً من إعادة إنشائها في كل مرة. يمكن أن يؤدي ذلك إلى تحسين الأداء بشكل كبير للمشاريع المتعددة الوحدات.
-
يُنشئ المكوّن الإضافي لنظام Gradle المتوافق مع Android فئات
جامع مادة الكتاب وGradle
أداة D8 هي جامع مادة كتاب DEX التلقائي
يتم الآن استخدام برنامج تجميع D8 تلقائيًا لإنشاء رمز بايت DEX.
يوفّر جامع مادة كتاب DEX الجديد هذا العديد من المزايا، بما في ذلك ما يلي:
- إنشاء ملفات dex بشكل أسرع
- استخدام أقل للذاكرة
- تحسين عملية إنشاء الرمز (تخصيص أفضل للسجلات، وجداول سلاسل نصية أكثر ذكاءً )
- تجربة تصحيح أخطاء أفضل عند تتبُّع الرمز
لست بحاجة إلى إجراء أي تغييرات على الرمز أو سير عمل التطوير للاستفادة من هذه المزايا، إلا إذا كنت قد أوقفت جامع مادة الكتاب 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 أو إصدار أحدث على الإصدار 32 بت من نظام التشغيل Windows. إذا كنت تستخدم الإصدار 32 بت من نظام التشغيل Windows و تحتاج إلى تصحيح أخطاء الرموز البرمجية الأصلية، استخدِم استوديو Android 2.3.
Kotlin
تمت ترقية Kotlin إلى الإصدار 1.2.30
يتضمّن استوديو Android 3.1 الإصدار 1.2.30 من Kotlin.
يتم الآن تحليل رمز Kotlin باستخدام فحص أداة lint من سطر الأوامر
يؤدي تشغيل أداة lint من سطر الأوامر الآن إلى تحليل فئات Kotlin.
بالنسبة إلى كل مشروع تريد تشغيل أداة lint عليه،
يجب تضمين مستودع Google Maven في ملف build.gradle
ذي المستوى الأعلى. تم تضمين مستودع Maven مسبقًا للمشاريع التي تم إنشاؤها في
استوديو Android 3.0 والإصدارات الأحدث.
أدوات الأداء
نماذج العمليات الأصلية بلغة C++ باستخدام محلّل وحدة المعالجة المركزية (CPU)
يتضمّن محلّل وحدة المعالجة المركزية (CPU) الآن إعدادًا تلقائيًا لتسجيل عمليات التتبُّع التي تم أخذ عيّنات منها لسلاسل التعليمات الأصلية في تطبيقك. يمكنك استخدام هذا الإعداد من خلال تفعيل تطبيقك على جهاز يعمل بنظام التشغيل Android 8.0 (مستوى واجهة برمجة التطبيقات 26) أو إصدار أحدث، ثم اختيار تم أخذ عيّنات منها (أصلية) من القائمة المنسدلة لإعدادات التسجيل في محلّل وحدة المعالجة المركزية (CPU). بعد ذلك، سجِّل عملية تتبُّع و افحصها بالطريقة المعتادة.
يمكنك تغيير الإعدادات التلقائية، مثل فترة أخذ العيّنات، من خلال إنشاء إعدادات تسجيل.
للرجوع إلى تتبُّع سلاسل محادثات Java، اختَر إعداد تم أخذ عيّنات منها (Java) أو تم تتبُّعها (Java).
فلترة عمليات تتبُّع وحدة المعالجة المركزية ونتائج تخصيص الذاكرة وذاكرة التجميع
يتضمّن محلّل وحدة المعالجة المركزية (CPU) و محلّل الذاكرة ميزة بحث تتيح لك فلترة النتائج من تسجيل سجلّ الإجراءات أو عمليات تخصيص الذاكرة أو لقطة لأجزاء من الذاكرة.
للبحث، انقر على فلترة
في أعلى يسار اللوحة، وأدخِل طلب البحث، ثم اضغط على مفتاح Enter.
ملاحظة: يمكنك أيضًا فتح حقل البحث بالضغط على Ctrl + F (Command + F على نظام التشغيل Mac).
في علامة التبويب مخطط اللهب في أداة تحديد المشاكل وحلّها في وحدة المعالجة المركزية، يتم تمييز مجموعات استدعاء الدوال التي تتضمّن طرقًا ذات صلة بطلب البحث ونقلها إلى الجانب الأيمن من الرسم البياني.
لمزيد من المعلومات حول الفلترة حسب اسم الطريقة أو الفئة أو الحزمة، يُرجى مراجعة مقالة تسجيل عمليات تتبُّع الطرق وفحصها.
علامة التبويب "الطلب" في محلّل الشبكة
يتضمّن محلّل الشبكة الآن علامة التبويب الطلب التي توفّر تفاصيل حول طلبات الشبكة خلال المخطط الزمني المحدّد. في الإصدارات السابقة، كانت أداة تحديد المشاكل وحلّها في الشبكة توفّر معلومات حول ردود الشبكة فقط.
عرض سلسلة التعليمات في محلّل الشبكة
بعد اختيار جزء من المخطط الزمني في محلّل الشبكة، يمكنك اختيار إحدى علامات التبويب التالية للاطّلاع على مزيد من التفاصيل حول نشاط الشبكة خلال هذا الإطار الزمني:
- عرض الاتصال: يقدّم المعلومات نفسها التي كانت توفّرها الإصدارات السابقة من استوديو Android، حيث يعرض الملفات التي تم إرسالها أو استلامها خلال الجزء المحدّد من المخطط الزمني على مستوى جميع سلاسل تعليمات وحدة المعالجة المركزية في تطبيقك. بالنسبة إلى كل طلب، يمكنك فحص الحجم والنوع والحالة ومدة الإرسال.
- عرض سلسلة المحادثات: يعرض نشاط الشبكة لكل سلسلة محادثات في وحدة المعالجة المركزية في تطبيقك. يتيح لك هذا العرض فحص سلاسل المحادثات في تطبيقك المسؤولة عن كل طلب شبكة.
أداة فحص التنسيق
اكتسبت أداة فحص التنسيق ميزات جديدة، بما في ذلك بعض الوظائف التي كانت توفّرها سابقًا الأدوات Hierarchy Viewer وPixel Perfect اللتان تم إيقافهما نهائيًا:
- أزرار التكبير/التصغير واختصارات لوحة المفاتيح للتنقّل بين التنسيقات وفحصها
- عنصر مركّب على الشبكة المرجعية
- إمكانية تحميل صورة مرجعية واستخدامها كعنصر مركّب (مفيد لـ مقارنة التنسيق بنموذج أولي لواجهة المستخدم)
- معاينة الشجرة الفرعية للعرض لعزل طريقة عرض في تنسيق معقّد
أداة تعديل التنسيق
تلقّت لوحة الألوان في أداة تعديل التنسيق العديد من التحسينات:
- إعادة تنظيم فئات طرق العرض والتنسيقات
- فئة شائعة جديدة لطرق العرض والتنسيقات، يمكنك إضافتها باستخدام الأمر المفضلة
- بحث محسّن عن طرق العرض والتنسيقات.
- أوامر جديدة لـ فتح مستندات طريقة عرض أو عنصر تنسيق معيّن
يمكنك استخدام الأمر تحويل طريقة العرض في شجرة المكوّنات أو أداة تعديل التصميم لتحويل طريقة عرض أو تنسيق إلى نوع آخر من طرق العرض أو التنسيقات.
يمكنك الآن إنشاء قيود بسهولة للعناصر القريبة من طريقة العرض المحدّدة باستخدام الـ
أزرار الجديدة إنشاء اتصال
في أداة فحص طريقة العرض أعلى نافذة السمات.
التشغيل و"التشغيل الفوري"
أصبح سلوك الخيار استخدام الاختيار نفسه لعمليات التشغيل المستقبلية في مربّع الحوار اختيار هدف النشر أكثر اتساقًا. إذا تم تفعيل الخيار استخدام الاختيار نفسه، لا يفتح مربّع الحوار اختيار هدف النشر إلا في المرة الأولى التي تستخدم فيها الأمر تشغيل إلى أن يصبح الجهاز المحدّد غير متصل.
عند استهداف جهاز يعمل بنظام التشغيل Android 8.0 (مستوى واجهة برمجة التطبيقات 26) أو إصدار أحدث، يمكن لميزة "التشغيل الفوري" نشر التغييرات على الموارد بدون التسبّب في إعادة تشغيل التطبيق. ويحدث ذلك لأنّ الموارد مضمّنة في حزمة APK مقسّمة.
المحاكي
للاطّلاع على تفاصيل الميزات الجديدة والمغيّرة في Android Emulator منذ Android Studio 3.0، يُرجى مراجعة ملاحظات إصدار Android Emulator من الإصدار 27.0.2 إلى الإصدار 27.1.12.
تشمل التحسينات الرئيسية ما يلي:
- لقطات Quick Boot لحفظ حالة المحاكي وبدء التشغيل بشكل أسرع، مع إمكانية استخدام الأمر حفظ الآن لحفظ حالة بدء مخصّصة.
- شاشة المحاكي بدون نافذة
- صور النظام للإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) والإصدار 8.1 من نظام التشغيل Android (المستوى 27 من واجهة برمجة التطبيقات) ومعاينة المطوّرين من Android P
تحسينات على واجهة المستخدم وتجربة المستخدم
المزيد من تلميحات الأدوات واختصارات لوحة المفاتيح، والرسائل المفيدة
أضفنا تلميحات أدوات وعناصر مركّبة لرسائل مفيدة في العديد من المواضع في استوديو Android.
للاطّلاع على اختصارات لوحة المفاتيح للعديد من الأوامر، ما عليك سوى وضع مؤشر الماوس فوق أحد الأزرار إلى أن يظهر تلميح الأداة.
تمت إزالة قائمة "الأدوات" > "Android"
تمت إزالة قائمة الأدوات > Android. تم نقل الأوامر التي كانت تظهر سابقًا ضِمن هذه القائمة.
- تم نقل العديد من الأوامر مباشرةً ضِمن قائمة الأدوات.
- تم نقل الأمر مزامنة المشروع مع ملفات Gradle إلى قائمة الملف.
- تمت إزالة الأمر مراقبة الجهاز، كما هو موضّح أدناه.
تتوفّر أداة "مراقبة الجهاز" من سطر الأوامر
في استوديو Android 3.1، تؤدي أداة "مراقبة الجهاز" دورًا أقل من دورها السابق. في العديد من الحالات، توفّر الأدوات الجديدة والمحسّنة الآن الوظائف المتاحة من خلال الأداة "مراقبة الجهاز".
يُرجى مراجعة مستندات أداة "مراقبة الجهاز" للحصول على تعليمات حول استدعاء أداة "مراقبة الجهاز" من سطر الأوامر وللاطّلاع على تفاصيل الأدوات المتاحة من خلال أداة "مراقبة الجهاز".