الإصدار 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 بشكل متزايد لتوفير إصدارات متزايدة أسرع. يستدعي المكوّن الإضافي لنظام 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 في مكوّن مكتبة الميزات التجريبية الإضافي.