الإصدار 3.4 من "استوديو Android" (نيسان/أبريل 2019)
"استوديو Android 3.4" هو إصدار رئيسي يتضمّن مجموعة متنوعة من الميزات الجديدة والتحسينات.
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 IDE في الإصدار 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 إزالة الترميز السكري والتصغير والتشويه والتحسين وإزالة ترميز Dex في خطوة واحدة، ما يؤدي إلى تحسينات ملحوظة في أداء عملية الإنشاء. تم طرح 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 التي تريد استخدامها بسرعة.