الإصدار 3.4 من "استوديو Android" (أبريل 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
تم تعديل بيئة التطوير المتكاملة الأساسية في "استوديو 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، افتح اللوحة التبعيات التي تم حلّها، كما هو موضّح أدناه.
يمكنك أيضًا البحث عن التبعيات وإضافتها إلى مشروعك بسرعة من خلال اختيار وحدة من قسم التبعيات في "مزامنة مشروع Gradle" أولاً، ثم النقر على الزر (+) في قسم التبعيات المعلَنة، واختيار نوع التبعية التي تريد إضافتها.
استنادًا إلى نوع التبعية الذي تحدّده، من المفترض أن يظهر لك مربّع حوار مشابه للمربّع أدناه يساعدك في إضافة التبعية إلى الوحدة.
تنويعات الإصدار
في هذا القسم من ملف PSD، أنشئ خيارات الإصدارات ونكهات المنتجات لكل وحدة في مشروعك واضبطها. يمكنك إضافة عناصر نائبة في ملف البيان وإضافة ملفات ProGuard وتعيين مفاتيح التوقيع وغير ذلك.
اقتراحات
يمكنك الاطّلاع على التعديلات المقترَحة لملفات التبعية الخاصة بالمشروع ومتغيّرات الإنشاء في قسم الاقتراحات، كما هو موضّح أدناه.
New Resource Manager
Resource Manager هي نافذة أدوات جديدة تتيح استيراد الموارد وإنشائها وإدارتها واستخدامها في تطبيقك. يمكنك فتح نافذة الأدوات من خلال اختيار عرض (View) > نوافذ الأدوات (Tool Windows) > Resource Manager من شريط القوائم. يتيح لك "مدير الموارد" إجراء ما يلي:
- عرض الموارد بشكل مرئي: يمكنك معاينة العناصر القابلة للرسم والألوان والتصاميم للعثور بسرعة على الموارد التي تحتاج إليها.
- الاستيراد المجمَّع: يمكنك استيراد عدّة مواد عرض قابلة للرسم في آنٍ واحد من خلال سحبها وإفلاتها في نافذة أداة إدارة الموارد أو من خلال استخدام معالج استيراد مواد العرض القابلة للرسم. للوصول إلى المعالج، انقر على الزر (+) في أعلى يمين نافذة الأدوات، ثم انقر على استيراد عناصر قابلة للرسم من القائمة المنسدلة.
-
تحويل ملفات 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، يتم تنفيذ جميع العمليات، مثل إزالة التكرار، والتصغير، والتشويش، والتحسين، والتحويل إلى رمز 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 التي تريد استخدامها بسرعة.