الإصدار 3.4 من "استوديو Android" (نيسان/أبريل 2019)
الإصدار 3.4 من "استوديو Android" هو إصدار رئيسي يتضمّن مجموعة متنوعة من الميزات والتحسينات الجديدة.
3.4.2 (تموز (يوليو) 2019)
يتضمّن هذا التحديث البسيط إصلاحات مختلفة للأخطاء وتحسينات على الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
3.4.1 (أيار/مايو 2019)
يتضمّن هذا التحديث البسيط إصلاحات مختلفة للأخطاء وتحسينات على الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
المشاكل المعروفة في الإصدار 3.4.0
يتم إيقاف التحليل عند نشر تطبيقك على جهاز يعمل بالإصدار التجريبي من Android Q.
- عند استخدام مكتبة ربط البيانات،
LiveDataListener.onChanged()
قد يتعذّر إكمالها بسبب خطأ في وقت التشغيل. سيتم تضمين حلّ لهذه المشكلة في الإصدار 3.4.1 من "استوديو Android"، وهو متاح حاليًا في أحدث إصدار تجريبي من الإصدار 3.5 من "استوديو Android". (راجِع المشكلة رقم 122066788)
IntelliJ IDEA 2018.3.4
تم تحديث بيئة التطوير المتكاملة لـ "استوديو 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.
المتغيّرات
يتيح لك قسم المتغيّرات الجديدة في PSD إنشاء متغيّرات الإنشاء وإدارتها، مثل تلك التي تحافظ على اتساق أرقام إصدارات الملحقات في مشروعك.
- عرض متغيّرات الإنشاء الحالية وتعديلها بسرعة في نصوص إنشاء Gradle الخاصة بمشروعك
- إضافة متغيّرات إنشاء جديدة على مستوى المشروع أو الوحدة مباشرةً من ملف PSD
ملاحظة: إذا كانت ملفات إعداد الإصدارات الحالية تخصِّص قيمًا من خلال نصوص Groovy البرمجية المعقّدة، قد لا تتمكّن من تعديل هذه القيم من خلال PSD. بالإضافة إلى ذلك، لا يمكنك تعديل ملفات الإصدار المكتوبة بلغة Kotlin باستخدام PSD.
الوحدات
يمكنك ضبط السمات التي يتم تطبيقها على جميع صيغ الإصدار في وحدة
حالية أو إضافة وحدات جديدة إلى مشروعك من قسم الوحدات. على سبيل المثال، يمكنك ضبط سمات defaultConfig
أو إدارة إعدادات التوقيع من هنا.
التبعيات
يمكنك فحص كل تبعية في مخطّط التبعية لمشروعك وعرضها بشكل مرئي، كما تم حلّها بواسطة Gradle أثناء مزامنة المشروع، وذلك باتّباع الخطوات التالية:
- في اللوحة اليمنى من ملف PSD، اختَر التبعيات.
- في لوحة الوحدات، اختَر وحدة تريد فحص التبعيات التي تم حلّها لها.
- على يسار ملف PSD، افتح لوحة التبعيات التي تم حلّها، والتي تظهر أدناه.
يمكنك أيضًا البحث عن التبعيات وإضافتها إلى مشروعك بسرعة من خلال أولاً اختيار وحدة من قسم التبعيات في ملف PSD، ثم النقر على الزر (+) في قسم التبعيات المعلَن عنها، واختيار نوع التبعيات التي تريد إضافتها.
استنادًا إلى نوع التبعية التي تختارها، من المفترض أن يظهر لك مربّع حوار، مشابه لما هو موضّح أدناه، لمساعدتك في إضافة التبعية إلى الوحدة.
متغيرات الإصدار
في هذا القسم من PSD، يمكنك إنشاء وتعديل خيارات الإصدار ونكهات المنتجات لكل وحدة في مشروعك. يمكنك إضافة عناصر نائبة للبيان، وإضافة ملفات ProGuard، وتخصيص مفاتيح التوقيع، وغير ذلك.
اقتراحات
اطّلِع على التعديلات المقترَحة لعناصر المشروع المُستندة إليها ومتغيّرات التصميم في القسم الاقتراحات، كما هو موضّح أدناه.
مدير الموارد الجديد
"مدير الموارد" هو نافذة أدوات جديدة لاستيراد الموارد وإنشائها وإدارتها واستخدامها في تطبيقك. يمكنك فتح نافذة الأدوات من خلال اختيار عرض > نوافذ الأدوات > مدير الموارد من شريط القوائم. يتيح لك "مدير موارد Google" إجراء ما يلي:
- عرض الموارد: يمكنك معاينة الرسومات والألوان والتنسيقات للعثور على الموارد التي تحتاجها بسرعة.
- الاستيراد المجمّع: يمكنك استيراد مواد عرض قابلة للرسم متعددة في آنٍ واحد إما عن طريق سحبها وإفلاتها في نافذة أداة إدارة الموارد أو باستخدام معالج استيراد مواد العرض القابلة للرسم. للوصول إلى المعالج، انقر على الزر (+) في أعلى يمين نافذة الأداة، ثم انقر على استيراد الرسومات القابلة للرسم من القائمة المنسدلة.
-
تحويل ملفات SVG إلى عناصر
VectorDrawable
: يمكنك استخدام معالج استيراد الرسومات القابلة للرسم لتحويل صور SVG إلى عناصرVectorDrawable
. - سحب مواد العرض وإفلاتها: من نافذة أدوات مدير الموارد، يمكنك سحب مواد العرض وإفلاتها على كلّ من عرض التصميم وعرض XML في "محرر التنسيق".
- عرض الإصدارات البديلة: يمكنك الآن عرض الإصدارات البديلة للموارد من خلال النقر مرّتين على أحد الموارد ضمن نافذة الأداة. يعرض هذا العرض الإصدارات المختلفة التي أنشأتها والمؤهّلات التي تم تضمينها.
- عرض المربّعات والقوائم: يمكنك تغيير طريقة العرض ضمن نافذة الأداة لعرض مواردك بترتيبات مختلفة.
لمزيد من المعلومات، يُرجى قراءة الدليل المتعلّق بكيفية إدارة موارد التطبيقات.
التحقّق من أرقام تعريف الإصدار عند تحليل حِزم APK وتصحيح أخطاءها
عند توفير ملفات رموز تصحيح الأخطاء لمكتبات .so
المشتركة داخل حزمة APK، يتحقّق "استوديو Android" من أنّ رقم تعريف الإصدار لملفات الرموز المقدّمة يتطابق مع رقم تعريف الإصدار لمكتبات .so
داخل حزمة APK.
في حال إنشاء المكتبات الأصلية في حزمة APK باستخدام معرّف إصدار، يتحقق Android Studio مما إذا كان معرّف الإصدار في ملفات الرموز يتطابق مع معرّف الإصدار في مكتباتك الأصلية ويرفض ملفات الرموز في حال عدم تطابقهما. إذا لم تكن قد أنشأت باستخدام رقم تعريف إصدار، قد يؤدي تقديم ملفات رموز غير صحيحة إلى حدوث مشاكل في تصحيح الأخطاء.
R8 مفعَّل تلقائيًا
يجمع الإصدار R8 بين عملية إزالة الأخطاء وتقليص المنتجات وإخفاء مفاتيح فك التشفير والتحسين والفهرسة كلها في خطوة واحدة، ما يؤدي إلى تحسينات ملحوظة في أداء الإصدارات. تم طرح R8 في الإصدار 3.3.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، وأصبح الآن مفعّلاً تلقائيًا لكلٍّ من مشاريع التطبيقات ومكتبات Android باستخدام الإصدار 3.4.0 من المكوّن الإضافي أو الإصدارات الأحدث.
تقدّم الصورة أدناه نظرة عامة على مستوى عالٍ لعملية الترجمة قبل طرح الإصدار R8.
والآن، باستخدام الإصدار R8، يتمّ إزالة الترميز السكري والتصغير والتشويه والتحسين وإزالة الترميز (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 التي تريد استخدامها بسرعة.