الإصدار 3.2.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android (أيلول/سبتمبر 2018)

يتطلّب هذا الإصدار من المكوّن الإضافي لنظام التشغيل Android ما يلي:

الحد الأدنى للإصدار الإصدار التلقائي الملاحظات
Gradle 4.6 4.6 لمزيد من المعلومات، اطّلِع على تحديث Gradle.
أدوات إنشاء حزمة تطوير البرامج (SDK) ‫28.0.3 ‫28.0.3 ثبِّت أو اضبط أدوات إنشاء حزمة تطوير البرامج (SDK).

3.2.1 (تشرين الأول/أكتوبر 2018)

بعد هذا التحديث، لن تحتاج إلى تحديد إصدار لأدوات SDK Build. يستخدم المكوّن الإضافي لنظام Gradle المتوافق مع Android الآن الإصدار 28.0.3 تلقائيًا.

الميزات الجديدة

  • إتاحة إنشاء حِزم تطبيقات Android: حِزمة التطبيق هي تنسيق تحميل جديد يتضمّن جميع الرموز البرمجية والموارد المجمَّعة لتطبيقك، مع تأجيل إنشاء حِزم APK وتوقيعها إلى "متجر Google Play". ولن تحتاج بعد ذلك إلى إنشاء حِزم APK متعددة وتوقيعها وإدارتها، وسيتمكّن المستخدمون من تنزيل حِزم أصغر حجمًا ومحسَّنة لأجهزتهم. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة لمحة عن "مجموعة حزمات تطبيق Android".

  • إتاحة سرعات إنشاء تراكمي محسّنة عند استخدام معالجات التعليقات التوضيحية: تتضمّن لغة النطاق الخاص (DSL) AnnotationProcessorOptions الآن CommandLineArgumentProvider، ما يتيح لك أو لمؤلف معالج التعليقات التوضيحية إضافة تعليقات توضيحية إلى وسيطات المعالج باستخدام التعليقات التوضيحية الخاصة بنوع السمة للإنشاء التراكمي. يؤدي استخدام هذه التعليقات التوضيحية إلى تحسين صحة وأداء عمليات الإنشاء النظيف المتزايدة والمخزّنة مؤقتًا. لمزيد من المعلومات، اطّلِع على تمرير وسيطات إلى معالجات التعليقات التوضيحية.

  • أداة نقل البيانات إلى AndroidX: عند استخدام الإصدار 3.2.0 من المكوّن الإضافي Android Gradle مع الإصدار 3.2 من Android والإصدارات الأحدث، يمكنك نقل البيانات المحلية والبيانات الاعتمادية في Maven الخاصة بمشروعك لاستخدام مكتبات AndroidX الجديدة من خلال النقر على إعادة تصميم > نقل البيانات إلى AndroidX من شريط القوائم. يؤدي استخدام أداة نقل البيانات هذه أيضًا إلى ضبط العلامات التالية على true في ملف gradle.properties:

    • android.useAndroidX: عند ضبطها على true، تستخدم إضافة Android مكتبة AndroidX المناسبة بدلاً من Support Library. عندما لا يتم تحديد هذه العلامة، يضبطها المكوّن الإضافي على false تلقائيًا.

    • android.enableJetifier: عند ضبط هذا الخيار على true، ينقل البرنامج المساعد لنظام Android تلقائيًا المكتبات الحالية التابعة لجهات خارجية لاستخدام AndroidX من خلال إعادة كتابة ملفاتها الثنائية. في حال عدم تحديد هذه العلامة، يضبط المكوّن الإضافي القيمة تلقائيًا على false. يمكنك ضبط هذه العلامة على true فقط عندما تكون العلامة android.useAndroidX مضبوطة أيضًا على true، وإلا سيظهر لك خطأ في الإنشاء.

      لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على AndroidX.

  • أداة جديدة لتقليص حجم الرموز، وهي R8: R8 هي أداة جديدة لتقليص حجم الرموز وتشويشها تحلّ محل ProGuard. يمكنك البدء في استخدام الإصدار التجريبي من R8 من خلال تضمين ما يلي في ملف gradle.properties الخاص بمشروعك:

            android.enableR8 = true
            
            android.enableR8 = true
            

تغييرات السلوك

  • تم الآن تفعيل عملية إزالة السكر من واجهة برمجة التطبيقات باستخدام أداة D8 تلقائيًا.

  • أصبحت أداة AAPT2 متاحة الآن في مستودع Maven من Google. لاستخدام AAPT2، تأكَّد من توفّر التبعية google() في ملف build.gradle، كما هو موضّح أدناه:

              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
  • تم الآن تفعيل ميزة multidex الأصلية تلقائيًا. كانت الإصدارات السابقة من Android Studio تتيح استخدام multidex الأصلي عند نشر إصدار تصحيح الأخطاء من تطبيق على جهاز يعمل بالمستوى 21 من واجهة برمجة التطبيقات Android أو مستوى أحدث. الآن، سواء كنت تنشر التطبيق على جهاز أو تنشئ حزمة APK لإصدار التطبيق، تتيح إضافة Android Gradle ميزة multidex الأصلية لجميع الوحدات التي تم ضبطها على minSdkVersion=21 أو إصدار أحدث.

  • يفرض المكوّن الإضافي الآن الحد الأدنى من إصدار المكوّن الإضافي لبروتوكول المخزن المؤقت (0.8.6) والمكوّن الإضافي للغة Kotlin (1.2.50) والمكوّن الإضافي لـ Crashlytics (1.25.4).

  • يفرض المكوّن الإضافي لوحدة الميزاتcom.android.feature الآن استخدام الأحرف والأرقام والشُرَط السفلية فقط عند تحديد اسم الوحدة. على سبيل المثال، إذا كان اسم وحدة الميزات يتضمّن شرطات، سيظهر لك خطأ في الإصدار. يتطابق هذا السلوك مع سلوك المكوّن الإضافي الخاص بالميزة الديناميكية.

إصلاح الأخطاء

  • أصبح JavaCompile قابلاً للتخزين المؤقت في المشاريع التي تتضمّن ربط البيانات. (المشكلة رقم 69243050)
  • تجنُّب أفضل للتجميع لوحدات المكتبة التي تتضمّن ربط البيانات (المشكلة رقم 77539932)
  • يمكنك الآن إعادة تفعيل configure-on-demand إذا كنت قد أوقفتها في الإصدارات السابقة بسبب بعض أخطاء الإنشاء غير المتوقّعة. (المشكلة رقم 77910727)