Android Studio 3.4 (أبريل 2019)
الإصدار 3.4 من "استوديو Android" هو إصدار رئيسي يتضمّن مجموعة متنوعة من الميزات الجديدة والتحسينات.
3.4.2 (تموز/يوليو 2019)
يتضمّن هذا التحديث البسيط إصلاحات متنوعة للأخطاء وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يمكنك قراءة المشاركة ذات الصلة في مدونة "تحديثات الإصدار".
3.4.1 (مايو 2019)
يتضمّن هذا التحديث البسيط إصلاحات متنوعة للأخطاء وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يمكنك قراءة المشاركة ذات الصلة في مدونة "تحديثات الإصدار".
المشاكل المعروفة في الإصدار 3.4.0
يتم إيقاف إنشاء الملفات الشخصية عند نشر تطبيقك على جهاز يعمل بالإصدار التجريبي من Android Q.
- عند استخدام Data Binding Library، قد يتعذّر تنفيذ
LiveDataListener.onChanged()بسبب خطأ NPE. سيتم تضمين إصلاح لهذه المشكلة في الإصدار 3.4.1 من "استوديو Android"، وهو متاح حاليًا في الإصدار التجريبي الأخير من الإصدار 3.5 من "استوديو Android". (راجِع المشكلة رقم 122066788)
IntelliJ IDEA 2018.3.4
تم تعديل حزمة تطوير البرامج المتكاملة (IDE) الأساسية في "استوديو Android" من خلال تحسينات من IntelliJ IDEA في الإصدار 2018.3.4.
تعديلات على الإصدار 3.4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
للحصول على معلومات حول الميزات الجديدة في الإصدار 3.4.0 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"، راجِع ملاحظات الإصدار.
مربّع حوار "بنية المشروع الجديد"
يسهّل مربّع الحوار الجديد "بنية المشروع" (PSD) تعديل التبعيات وإعداد جوانب مختلفة من مشروعك، مثل الوحدات وتنويعات الإصدار وإعدادات التوقيع ومتغيّرات الإصدار.
يمكنك فتح ملف PSD من خلال اختيار ملف > بنية المشروع من شريط القوائم. يمكنك أيضًا فتح PSD بالضغط على Ctrl+Shift+Alt+S على أجهزة Windows وLinux، أو Command+; (فاصلة منقوطة) على أجهزة macOS. يمكنك الاطّلاع أدناه على أوصاف بعض الأقسام الجديدة والمعدَّلة في "بيان خصوصية المطوّرين".
المتغيّرات
يتيح لك قسم المتغيرات الجديد في ملف PSD إنشاء متغيرات الإصدار وإدارتها، مثل المتغيرات التي تحافظ على اتساق أرقام الإصدارات للتبعيات في مشروعك.

- يمكنك الاطّلاع بسرعة على متغيرات الإصدارات وتعديلها إذا كانت متوفّرة في نصوص Gradle البرمجية الخاصة بمشروعك.
- إضافة متغيّرات إنشاء جديدة على مستوى المشروع أو الوحدة مباشرةً من PSD
ملاحظة: إذا كانت ملفات إعدادات الإصدار الحالية تحدّد قيمًا من خلال نصوص Groovy البرمجية المعقّدة، قد لا تتمكّن من تعديل هذه القيم من خلال PSD. بالإضافة إلى ذلك، لا يمكنك تعديل ملفات الإصدار المكتوبة بلغة Kotlin باستخدام PSD.
الوحدات
اضبط الخصائص التي يتم تطبيقها على جميع أنواع الإصدارات في وحدة حالية أو أضِف وحدات جديدة إلى مشروعك من قسم الوحدات. على سبيل المثال، يمكنك هنا ضبط خصائص defaultConfig أو إدارة إعدادات التوقيع.
التبعيات
يمكنك فحص كل عنصر تابع وتصوّره في مخطط التبعية الخاص بمشروعك، كما تم حله بواسطة Gradle أثناء مزامنة المشروع، باتّباع الخطوات التالية:
- في اللوحة اليمنى من PSD، اختَر التبعيات.
- في لوحة الوحدات، اختَر وحدة تريد فحص التبعيات التي تم حلّها لها.
- على الجانب الأيسر من PSD، افتح اللوحة التبعيات التي تم حلّها، كما هو موضّح أدناه.

يمكنك أيضًا البحث عن التبعيات وإضافتها إلى مشروعك بسرعة من خلال اختيار وحدة من قسم التبعيات في "أداة فحص بنية الحزمة"، ثم النقر على الزر (+) في قسم التبعيات المعلَنة واختيار نوع التبعية التي تريد إضافتها.
استنادًا إلى نوع التبعية الذي تحدّده، من المفترض أن يظهر لك مربّع حوار مشابه للمربّع أدناه يساعدك في إضافة التبعية إلى الوحدة.

تنويعات الإصدار
في هذا القسم من ملف PSD، أنشئ إعدادات صيغ الإنشاء وصيغ المنتجات لكل وحدة في مشروعك. يمكنك إضافة عناصر نائبة في ملف البيان وإضافة ملفات ProGuard وتعيين مفاتيح التوقيع وغير ذلك.

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

New Resource Manager
"أداة إدارة الموارد" هي نافذة أدوات جديدة تتيح استيراد الموارد وإنشاءها وإدارتها واستخدامها في تطبيقك. ويمكنك فتح نافذة الأدوات من خلال اختيار عرض > نوافذ الأدوات > أداة إدارة الموارد من شريط القوائم. يتيح لك "مدير الموارد" إجراء ما يلي:

- عرض الموارد بشكل مرئي: يمكنك معاينة الرسومات المتجهة والألوان والتصاميم للعثور بسرعة على الموارد التي تحتاج إليها.
- الاستيراد المجمَّع: يمكنك استيراد عدّة مواد عرض قابلة للرسم في آنٍ واحد من خلال سحبها وإفلاتها في نافذة أداة مدير الموارد أو باستخدام معالج استيراد مواد العرض القابلة للرسم. للوصول إلى المعالج، انقر على الزرّ (+) في أعلى يمين نافذة الأداة، ثم انقر على استيراد عناصر قابلة للرسم من القائمة المنسدلة.
-
تحويل ملفات SVG إلى عناصر
VectorDrawable: يمكنك استخدام معالج استيراد عناصر قابلة للرسم لتحويل صور SVG إلى عناصرVectorDrawable. - سحب مواد العرض وإفلاتها: من نافذة أداة إدارة الموارد، يمكنك سحب عناصر قابلة للرسم وإفلاتها في كلّ من طريقتَي عرض التصميم وXML في "محرّر Layout".
- عرض نُسخ بديلة: يمكنك الآن عرض نُسخ بديلة من المراجع من خلال النقر مرّتين على مرجع ضمن نافذة الأداة. يعرض هذا العرض الإصدارات المختلفة التي أنشأتها والمؤهلات التي تم تضمينها.
- طرق العرض على شكل مربّعات وقائمة: يمكنك تغيير طريقة العرض داخل نافذة الأدوات لتصوُّر الموارد بترتيبات مختلفة.
لمزيد من المعلومات، يُرجى الاطّلاع على الدليل حول كيفية إدارة موارد التطبيق.
التحقّق من أرقام تعريف الإصدارات عند إنشاء ملفات تعريف وتصحيح أخطاء حِزم APK
عند تقديم ملفات رموز تصحيح الأخطاء لمكتبات .so المشترَكة داخل حزمة APK، يتحقّق "استوديو Android" من أنّ رقم تعريف الإصدار لملفات الرموز المقدَّمة يتطابق مع رقم تعريف الإصدار لمكتبات .so داخل حزمة APK.
إذا أنشأت المكتبات الأصلية في حزمة APK باستخدام معرّف إصدار، يتحقّق "استوديو Android" مما إذا كان معرّف الإصدار في ملفات رموز تصحيح الأخطاء يطابق معرّف الإصدار في المكتبات الأصلية، ويرفض ملفات رموز تصحيح الأخطاء في حال عدم التطابق. إذا لم تستخدِم معرّف إصدار عند إنشاء التطبيق، قد يؤدي تقديم ملفات رموز غير صحيحة إلى حدوث مشاكل في تصحيح الأخطاء.
تفعيل أداة R8 تلقائيًا
تدمج أداة R8 عمليات إزالة التكرار، والتصغير، والتشويش، والتحسين، والتحويل إلى رمز DEX في خطوة واحدة، ما يؤدي إلى تحسينات ملحوظة في أداء عملية الإنشاء. تم طرح R8 في الإصدار 3.3.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، وهو مفعّل الآن تلقائيًا لكل من مشاريع التطبيقات ومكتبات Android التي تستخدم الإصدار 3.4.0 من المكوّن الإضافي والإصدارات الأحدث.
تقدّم الصورة أدناه نظرة عامة شاملة على عملية التجميع قبل طرح R8.

أما الآن، فباستخدام R8، يتم إكمال جميع عمليات إزالة التجميل اللغوي والتصغير والتشويش والتحسين والتحويل إلى رمز DEX (باستخدام D8) في خطوة واحدة، كما هو موضّح أدناه.

يُرجى العِلم أنّ R8 مصمَّمة للعمل مع قواعد ProGuard الحالية، لذا من المحتمل ألا تحتاج إلى اتّخاذ أي إجراءات للاستفادة من R8. ومع ذلك، بما أنّها تكنولوجيا مختلفة عن ProGuard ومصمَّمة خصيصًا لمشاريع Android، قد يؤدي تقليص الحجم والتحسين إلى إزالة رموز قد لا تكون ProGuard قد أزالتها. لذا، في هذه الحالة غير المحتملة، قد تحتاج إلى إضافة قواعد إضافية للحفاظ على هذا الرمز في ناتج الإصدار.
إذا واجهت مشاكل في استخدام R8، يُرجى قراءة
الأسئلة الشائعة حول توافق R8
للتحقّق من توفّر حل لمشكلتك. إذا لم يتم توثيق حلّ، يُرجى الإبلاغ عن خطأ.
يمكنك إيقاف R8 من خلال إضافة أحد الأسطر التالية إلى ملف gradle.properties الخاص بمشروعك:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
ملاحظة: بالنسبة إلى نوع إصدار معيّن، إذا ضبطت
useProguard على false في ملف build.gradle
لوحدة تطبيقك، سيستخدم المكوّن الإضافي لنظام Gradle المتوافق مع Android أداة R8 لتصغير حجم
رمز تطبيقك لنوع الإصدار هذا، بغض النظر عمّا إذا كنت قد أوقفت أداة R8 في ملف gradle.properties
لمشروعك.
يتيح "محرّر التنقّل" الآن جميع أنواع الوسيطات
أصبحت جميع أنواع الوسيطات المتوافقة مع "مكوّن التنقّل" متاحة الآن في "أداة تعديل التنقّل". لمزيد من المعلومات حول الأنواع المتوافقة، يُرجى الاطّلاع على مقالة نقل البيانات بين وجهات.
تحسينات على "أداة تعديل التنسيق" {:#layout-editor}
تم تبسيط لوحة السمات في "محرّر التنسيق" لتصبح صفحة واحدة تتضمّن أقسامًا يمكنك توسيعها لعرض السمات التي يمكنك ضبطها. يتضمّن جزء السمات أيضًا التعديلات التالية:
- يعرض قسم السمات المحدَّدة الجديد السمات التي يحدّدها ملف التصميم، ويتيح لك إضافة سمات جديدة بسرعة.
- تحتوي الآن لوحة السمات أيضًا على مؤشرات بجانب كل سمة تكون ممتلئة عندما تكون قيمة السمة مرجعًا لمورد وفارغة في الحالات الأخرى.
- يتم الآن تمييز السمات التي تتضمّن أخطاء أو تحذيرات. تشير التمييزات باللون الأحمر إلى الأخطاء (على سبيل المثال، عند استخدام قيم تنسيق غير صالحة)، وتشير التمييزات باللون البرتقالي إلى التحذيرات (على سبيل المثال، عند استخدام قيم مبرمَجة بشكل ثابت).
إجراء جديد متعلق بالنية لاستيراد التبعيات بسرعة
إذا بدأت في استخدام بعض فئات Jetpack وFirebase في الرمز البرمجي، سيقترح عليك إجراء جديد إضافة تبعية مكتبة Gradle المطلوبة إلى مشروعك، إذا لم يسبق لك إجراء ذلك. على سبيل المثال، إذا أشرت إلى الفئة WorkManager بدون استيراد التبعية android.arch.work:work-runtime المطلوبة أولاً، سيسمح لك إجراء جديد بإجراء ذلك بسهولة بنقرة واحدة، كما هو موضّح أدناه.

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