Android Studio 3.4 هو إصدار رئيسي يتضمن العديد من الميزات والتحسينات الجديدة.
IntelliJ IDEA 2018.3.4
Android Gradle plugin 3.4.0
حوار هيكل المشروع الجديد
- يسهّل مربع الحوار "بنية المشروع" الجديد (PSD) تحديث التبعيات وتكوين جوانب مختلفة من المشروع ، مثل الوحدات النمطية وخيارات الإنشاء وتهيئة التكوينات ومتغيرات البناء
- يمكنك فتح PSD عن طريق تحديد "ملف> هيكل المشروع" في القائمة. يمكنك أيضًا فتح PSD عبر Ctrl + Shift + Alt + S على Windows و Linux أو Command +؛ (فاصلة منقوطة) على ماك. فيما يلي وصف لابتكارات PSD والتحديثات.
المتغيرات
وحدات
- تكوين الخصائص التي تنطبق على جميع خيارات البناء الموجودة في الوحدات النمطية أو إضافة وحدات نمطية جديدة إلى مشروعك باستخدام قسم الوحدات النمطية. على سبيل المثال ، يمكنك هنا تكوين خاصية defaultConfig أو إدارة تكوينات التوقيع
اعتمادا على
فحص وعرض كل رسم بياني تبعية للرسم البياني التبعي لمشروعك الذي صممه Gradle أثناء مزامنة المشروع باتباع الخطوات التالية:
- في الجزء الأيمن من PSD ، حدد "التبعيات"
- في لوحة "الوحدات النمطية" ، حدد الوحدة التي ترغب في رؤية التبعيات لها
- على الجانب الأيمن من PSD ، افتح لوحة "Resolved Dependencies" كما هو موضح أدناه

يمكنك أيضًا العثور بسرعة على التبعيات وإضافتها إلى مشروعك عن طريق تحديد الوحدة النمطية والنقر فوق الزر "+" في قسم "التبعيات المعلنة" ، ثم تحديد نوع التبعية التي تريد إضافتها
اعتمادًا على نوع التبعية التي تختارها ، سترى مربع حوار مشابهًا للحوار الموضح أدناه والذي يساعدك على إضافة التبعية إلى الوحدة النمطية

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

نصائح
- يمكنك الاطلاع على تحديثات التبعيات المقترحة لمشروعك وخيارات الإنشاء في قسم "الاقتراحات" ، كما هو موضح أدناه

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

- تخيل الموارد: يمكنك معاينة الدرجات والألوان والمخططات للعثور بسرعة على المورد الصحيح
- الاستيراد بالجملة: يمكنك استيراد العديد من الأصول القابلة للفرد في وقت واحد عن طريق سحبها ببساطة إلى "مدير الموارد" أو من خلال معالج "استيراد المستلزمات". للوصول إلى المعالج ، انقر فوق الزر "+" في الزاوية العلوية اليمنى من النافذة ، ثم حدد "Import Drawables" من القائمة المنسدلة
- تحويل ملفات SVG إلى VectorDrawables: يمكنك استخدام معالج Import Drawables لتحويل صور SVG الخاصة بك إلى VerctorDrawables
- السحب والإسقاط الأصول: من نافذة "مدير الموارد" ، يمكنك سحب drawables في التصميم الخاص بك والحاجيات XML من محرر التخطيط ("محرر التخطيط")
- الإصدارات البديلة من الأدوات المصغّرة: يمكنك الآن الحصول على إصدارات بديلة من مواردك عن طريق النقر المزدوج على المورد في نافذة "الأداة". سترى الإصدارات المختلفة التي قمت بإنشائها وما هي المؤهلات التي تحتوي عليها.
- عرض بلاطة أو قائمة: يمكنك تغيير العرض في نافذة التصور من الموارد الخاصة بك باستخدام تخطيط مختلف
راجع دليل إدارة موارد التطبيق لمزيد من المعلومات.
التحقق من معرفات الإنشاء عند إنشاء ملفات تعريف وتصحيح ملفات APK
- عند قيامك بتوفير "ملفات رموز تصحيح الأخطاء" لمكتبات .so المشتركة داخل ملف APK ، يتحقق Android Studio من أن معرف البنية لـ "ملفات رمز التصحيح" يتطابق مع معرّف البنية الخاص بمكتبات .so داخل ملف APK
- إذا قمت بجمع مكتبات أصلية في ملف APK الخاص بك باستخدام معرّف البنية ، فسيقوم Android Studio بالتحقق مما إذا كان معرّف البنية الخاص بـ "ملفات الرموز" ومعرّف البنية الخاص بالمكتبات الأصلية يتطابقان ويعيد تعيين "ملفات الرموز" إذا لم يكن هناك تطابق. إذا لم تقم بالبناء باستخدام معرّف البنية ، فقد يؤدي توفير "ملفات الرموز" غير الصحيحة إلى حدوث مشكلات عند تصحيح الأخطاء
يتم تمكين R8 بشكل افتراضي
تجمع R8 بين الإصرار ، والضغط ، والتعتيم ، والتحسين ، والتشويش في خطوة واحدة ، مما يعطي تحسينًا ملحوظًا في الأداء. تم تقديم R8 في Android Gradle plugin 3.3.0 وتم تمكينه الآن افتراضيًا لكل من التطبيقات ومشاريع مكتبة Android باستخدام إصدار البرنامج المساعد 3.4.0 أو أعلى
توضح الصورة أدناه عملية التجميع قبل R8

الآن ، مع R8 ، يتم إجراء disugaring ، ضغط ، التعتيم ، التحسين و dexing (D8) في خطوة واحدة ، كما هو موضح أدناه

تم تصميم R8 للعمل مع قواعد ProGuard الحالية الخاصة بك ، لذلك لا تحتاج إلى اتخاذ أي إجراء للاستفادة من R8. وفي الوقت نفسه ، نظرًا لأن هذه التقنية مختلفة عن ProGuard ، والتي تم تصميمها خصيصًا لمشاريع Android ، فقد يكون الضغط والتحسين في إزالة التعليمات البرمجية التي لا يحذفها ProGuard. لذلك ، في هذا الموقف غير المحتمل ، قد تحتاج إلى إضافة قواعد إضافية لحفظ هذا الرمز في التجميع النهائي
إذا كنت تواجه مشكلات في استخدام R8 ، فاقرأ الأسئلة الشائعة حول التوافق مع R8 لمعرفة ما إذا كان هناك حل جاهز أم لا. إذا لم يتم توثيق الحل بعد ، فيرجى الإبلاغ عن خطأ . يمكنك تعطيل R8 عن طريق إضافة أحد الإرشادات التالية إلى ملف gradle.properties الخاص بمشروعك:
<ط> # تعطيل R8 لوحدات مكتبة أندرويد فقط </ I>
android.enableR8.libraries = false </p>
<p> <i> # تعطيل R8 لجميع الوحدات </ i>
android.enableR8 = خطأ
ملاحظة: بالنسبة للنوع المحدد من التجميع ، إذا قمت بتعيين false for useProguard في ملف build.gradle لوحدة التطبيق الخاصة بك ، فإن المكون الإضافي Android Gradle سيستخدم R8 لضغط رمز التطبيق لهذا النوع من التجميع ، بغض النظر عما إذا كان R8 معطلًا في ملف gradle.properties لمشروعك
يدعم محرر التنقل الآن جميع أنواع الوسائط
- جميع الأنواع التي يدعمها مكون التنقل مدعومة الآن في محرر التنقل. لمزيد من المعلومات حول الأنواع المدعومة ، راجع تمرير البيانات بين الوجهات
تحسينات في محرر التخطيط
نصائح عملية جديدة لاستيراد التبعيات بسرعة
- إذا بدأت في استخدام فئات معينة من Jetpack و Firebase في التعليمات البرمجية ، فإن نصائح الإجراء الجديدة تقترح إضافة تبعيات مكتبة Gradle اللازمة إلى مشروعك ، إذا لم تتم إضافتها بعد. على سبيل المثال ، إذا كنت تشير إلى فئة WorkManager لأول مرة ، فأنت بحاجة إلى التبعية android.arch.work:work-runtime ، ويسمح لك تلميح الإجراء بإضافتها بنقرة واحدة ، كما هو موضح أدناه

- على وجه الخصوص ، منذ ذلك الحين يتم تقديم Jetpack في حزم منفصلة (مما يسهل إدارتها وتحديثها) ، يساعدك اختصار الإجراء على إضافة التبعيات الضرورية لمكونات Jetpack التي تستخدمها بسرعة فقط
3.4.0 المشكلات المعروفة
- يتم تعطيل التوصيف عند نشر التطبيق الخاص بك على الأجهزة التي تعمل بنظام Android Q Beta
- عند استخدام مكتبة ربط البيانات ، قد تقع LiveDataListener.onChanged () مع NullPointerException. سيتم تضمين إصلاح لهذه المشكلة في Android Studio 3.4.1 وهو متوفر بالفعل في أحدث إصدار من معاينة Android Studio 3.5 (راجع bug 122066788 )