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

يتطلّب هذا الإصدار ما يلي:

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

الإصدار 3.2.1 (أكتوبر 2018)

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

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

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

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

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

    • 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" تتيح استخدام ملفات DEX متعددة أصلية عند نشر إصدار تصحيح الأخطاء من تطبيق على جهاز يعمل بالإصدار 21 من واجهة برمجة التطبيقات Android أو إصدار أحدث. الآن، سواء كنت تنشر التطبيق على جهاز أو تنشئ حزمة APK لإصدار التطبيق، يتيح المكوّن الإضافي لنظام Gradle المتوافق مع Android ملفات DEX المتعددة الأصلية لجميع الوحدات التي تم ضبطها على minSdkVersion=21 أو إصدار أحدث.

  • يفرض المكوّن الإضافي الآن استخدام إصدار أدنى من المكوّن الإضافي protobuf (الإصدار 0.8.6)، المكوّن الإضافي Kotlin (الإصدار 1.2.50) والمكوّن الإضافي Crashlytics (الإصدار 1.25.4).

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

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