الإصدار 1.5.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android (تشرين الثاني/نوفمبر 2015)

التبعيات:
الحد الأدنى للإصدار الإصدار التلقائي الملاحظات
Gradle 2.2.1 2.2.1 لمزيد من المعلومات، اطّلِع على تحديث Gradle.
أدوات إنشاء حزمة تطوير البرامج (SDK) 21.1.1 21.1.1 ثبِّت أو اضبط أدوات إنشاء حزمة تطوير البرامج (SDK).
ملاحظات عامة:
  • تم دمج المكوّن الإضافي Data Binding في المكوّن الإضافي لنظام Gradle المتوافق مع Android. لتفعيلها، أضِف الرمز التالي إلى كل ملف build.gradle خاص بكل مشروع يستخدم المكوّن الإضافي:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • تمت إضافة Transform API الجديدة للسماح للمكوّنات الإضافية التابعة لجهات خارجية بمعالجة ملفات .class التي تم تجميعها قبل تحويلها إلى ملفات .dex. تسهّل واجهة برمجة التطبيقات Transform API عملية إدخال عمليات معالجة مخصّصة للصفوف، مع توفير مرونة أكبر في ما يتعلّق بالعناصر التي يمكنك معالجتها. لإدراج عملية تحويل في إصدار، أنشئ فئة جديدة تنفّذ إحدى واجهات Transform، وسجِّلها باستخدام android.registerTransform(theTransform) أو android.registerTransform(theTransform, dependencies). ليست هناك حاجة إلى ربط المهام ببعضها. يُرجى العِلم بما يلي حول Transform API:
    • يمكن تطبيق عملية تحويل على واحد أو أكثر مما يلي: المشروع الحالي والمشاريع الفرعية والمكتبات الخارجية.
    • يجب تسجيل عملية تحويل على مستوى العالم، ما يؤدي إلى تطبيقها على جميع خيارات المنتج.
    • تستخدم الآن عملية معالجة الرموز البرمجية الداخلية، من خلال مكتبة Java Code Coverage Library (JaCoCo) وProGuard وMultiDex، واجهة Transform API. ومع ذلك، لا تستخدم أداة Java Android Compiler Kit (Jack) واجهة برمجة التطبيقات هذه، بل يستخدمها مسار الرمز البرمجي javac/dx فقط.
    • ينفِّذ Gradle عمليات التحويل بهذا الترتيب: JaCoCo والمكوّنات الإضافية التابعة لجهات خارجية وProGuard. يتطابق ترتيب التنفيذ الخاص بالمكوّنات الإضافية التابعة لجهات خارجية مع ترتيب إضافة عمليات التحويل بواسطة هذه المكوّنات، ولا يمكن لمطوّري المكوّنات الإضافية التابعة لجهات خارجية التحكّم في ترتيب تنفيذ عمليات التحويل من خلال واجهة برمجة تطبيقات.
  • تم إيقاف الدالة get dex نهائيًا من الفئة ApplicationVariant. لم يعُد بإمكانك الوصول إلى مهمة Dex من خلال واجهة برمجة التطبيقات الخاصة بالمتغيرات لأنّها أصبحت تتم من خلال عملية تحويل. ولا يتوفّر حاليًا بديل للتحكّم في عملية dex.
  • تم إصلاح ميزة التوافق التدريجي مع مواد العرض.
  • تحسين توافق MultiDex من خلال إتاحته لمشاريع الاختبار، وأصبحت الاختبارات تتضمّن تلقائيًا التبعية com.android.support:multidex-instrumentation.
  • تمت إضافة إمكانية إيقاف عملية إنشاء Gradle بشكل صحيح والإبلاغ عن السبب الأساسي للخطأ عندما تستدعي عملية إنشاء Gradle مهام غير متزامنة ويحدث خطأ في عملية العامل.
  • تمت إضافة إمكانية ضبط واجهة تطبيق ثنائية (ABI) معيّنة في الصيغ التي تحتوي على واجهات ABI متعددة.
  • تمت إضافة إمكانية استخدام قائمة مفصولة بفواصل للأرقام التسلسلية للأجهزة في متغير البيئة ANDROID_SERIAL عند تثبيت الاختبارات أو تنفيذها.
  • تم إصلاح خطأ في التثبيت على الأجهزة التي تعمل بالإصدار 5.0 من نظام التشغيل Android (المستوى 20 لواجهة برمجة التطبيقات) والإصدارات الأحدث عندما يحتوي اسم حزمة APK على مسافة.
  • تم إصلاح مشاكل متعدّدة متعلّقة بإخراج الأخطاء في "أداة تجميع الموارد في Android" (AAPT).
  • تمت إضافة إمكانية استخدام JaCoCo incremental instrumentation لإجراء عمليات إنشاء تزايدية أسرع. يستدعي المكوّن الإضافي لنظام Gradle المتوافق مع Android الآن أداة JaCoCo مباشرةً. لفرض استخدام إصدار أحدث من أداة JaCoCo، عليك إضافته كعنصر تابع لنص برمجي للإنشاء.
  • تم إصلاح مشكلة توافق JaCoCo لكي يتجاهل الملفات التي ليست فئات.
  • تمت إضافة إمكانية استخدام الرسومات المتجهة القابلة للرسم لإنشاء ملفات PNG في وقت الإنشاء من أجل التوافق مع الإصدارات القديمة. ينشئ المكوّن الإضافي لنظام Android في Gradle ملفات PNG لكل رسم متّجه يتم العثور عليه في دليل موارد لا يحدّد إصدارًا من واجهة برمجة التطبيقات أو يحدّد السمة android:minSdkVersion بقيمة 20 أو أقل في العنصر <uses-sdk> في بيان التطبيق. يمكنك ضبط كثافات PNG باستخدام السمة generatedDensities في القسمَين defaultConfig أو productFlavor من ملف build.gradle.
  • تمت إضافة مشاركة android.jar القابل للمحاكاة، والذي لا تنشئه الإضافة إلا مرة واحدة وتستخدمه لاختبار الوحدات. تتشارك الآن وحدات متعدّدة، مثل app وlib، في هذا المعرّف. احذف $rootDir/build لإعادة إنشائه.
  • تم تغيير طريقة معالجة موارد Java لتتم قبل مهام التشويش بدلاً من أن تتم أثناء تجميع حِزمة APK. يتيح هذا التغيير لمهام التشويش فرصة تعديل موارد Java بعد تشويش الحِزم.
  • تم إصلاح مشكلة متعلّقة باستخدام رمز Java Native Interface (JNI) في المكوّن الإضافي للمكتبة التجريبية.
  • تمت إضافة إمكانية ضبط إصدار النظام الأساسي بشكل منفصل عن السمة android:compileSdkVersion في المكوّن الإضافي لمكتبة الإصدارات التجريبية.