Android Studio 3.1 (مارس 2018)
Android Studio 3.1.0 هو إصدار رئيسي يتضمّن مجموعة متنوعة من الميزات والتحسينات الجديدة.
3.1.4 (أغسطس 2018)
يتضمّن هذا التحديث على Android Studio 3.1 التغييرات والإصلاحات التالية:
- أصبح إصدار 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)
يتضمّن هذا التحديث على Android Studio 3.1 إصلاحات للأخطاء التالية:
- كانت تسريبات الذاكرة تؤدي إلى بطء أداء 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)
يتضمّن هذا التحديث على Android Studio 3.1 إصلاحات للأخطاء التالية:
- في بعض الحالات، كان 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)
يتضمّن هذا التحديث على Android Studio 3.1 إصلاحات للأخطاء التالية:
-
في بعض الحالات، عند فتح مشروع تم إنشاؤه في Android Studio 3.0 للمرة الأولى في Android Studio 3.1، تمت إزالة مهمة Make المتوافقة مع Gradle من منطقة قبل الإطلاق في إعدادات التشغيل/التصحيح. ونتيجةً لذلك، لم يتم إنشاء المشاريع عند النقر على الزر تشغيل أو تصحيح الأخطاء، ما أدّى بدوره إلى حدوث أخطاء، مثل نشر حِزم APK غير صحيحة وتعطُّل التطبيق عند استخدام ميزة "التشغيل الفوري".
لحلّ هذه المشكلة، يضيف Android Studio 3.1.1 مهمة "إنشاء" المتوافقة مع 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 Studio والإصدارات الأحدث.
أدوات الأداء
أخذ عيّنات من عمليات C++ الأصلية باستخدام "أداة فحص وحدة المعالجة المركزية"
يتضمّن أداة فحص وحدة المعالجة المركزية الآن إعدادًا تلقائيًا لتسجيل عمليات تتبُّع مأخوذة من عيّنات من سلاسل التعليمات الأصلية لتطبيقك. يمكنك استخدام هذا الإعداد من خلال نشر تطبيقك على جهاز يعمل بالإصدار 8.0 (المستوى 26 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث من نظام التشغيل Android، ثم اختيار أخذ عيّنات (أصلية) من القائمة المنسدلة لإعدادات التسجيل في أداة CPU Profiler. بعد ذلك، يمكنك تسجيل وفحص عملية تتبُّع كالمعتاد.
يمكنك تغيير الإعدادات التلقائية، مثل فاصل أخذ العيّنات، من خلال إنشاء إعدادات تسجيل.
للعودة إلى تتبُّع سلاسل Java، اختَر إعداد تم أخذ عينات منه (Java) أو تم قياسه (Java).
فلترة عمليات تتبُّع وحدة المعالجة المركزية ونتائج تخصيص الذاكرة وعمليات تفريغ الذاكرة
يتضمّن كل من أداة فحص استخدام وحدة المعالجة المركزية وأداة فحص استخدام الذاكرة ميزة بحث تتيح لك فلترة النتائج من تسجيل تتبُّع طريقة أو عمليات تخصيص الذاكرة أو تفريغ الذاكرة المؤقتة.

للبحث، انقر على فلتر
في أعلى يسار اللوحة، واكتب
طلب البحث، ثم اضغط على 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 من سطر الأوامر
في Android Studio 3.1، لم يعُد "مراقب الجهاز" يؤدي الدور نفسه الذي كان يؤديه في السابق. في العديد من الحالات، أصبحت الوظائف المتاحة من خلال "مراقبة الأجهزة" متوفّرة الآن من خلال أدوات جديدة ومحسّنة.
راجِع مستندات "أداة مراقبة الأجهزة" للحصول على تعليمات حول تشغيل "أداة مراقبة الأجهزة" من سطر الأوامر وللاطّلاع على تفاصيل الأدوات المتاحة من خلال "أداة مراقبة الأجهزة".