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

الاعتماديات:
الإصدار الأدنى الإصدار التلقائي ملاحظات
Gradle 2.2.1 2.2.1 لمزيد من المعلومات، اطّلِع على تحديث Gradle.
أدوات تصميم حزمة تطوير البرامج (SDK) 21.1.1 21.1.1 تثبيت أو ضبط أدوات إنشاء حزمة تطوير البرامج (SDK).
ملاحظات عامة:
  • تم دمج المكوّن الإضافي لربط البيانات في المكوّن الإضافي المتوافق مع Android لنظام Gradle. لتفعيله، أضِف الرمز التالي إلى كل ملف build.gradle على مستوى المشروع الذي يستخدم المكوّن الإضافي:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • تمت إضافة واجهة برمجة تطبيقات جديدة من نوع Transform API للسماح للمكوّنات الإضافية الخارجية بمعالجة ملفات .class المُجمَّعة قبل تحويلها إلى ملفات .dex. تسهّل واجهة برمجة التطبيقات Transform إدخال عمليات معالجة مخصّصة للفئات مع توفير المزيد من المرونة بشأن ما يمكنك معالجته. لإدراج عملية تحويل في عملية إنشاء، أنشئ فئة جديدة تنفّذ إحدى واجهات Transform، وسجِّلها باستخدام android.registerTransform(theTransform) أو android.registerTransform(theTransform, dependencies). ليس عليك ربط المهام ببعضها. يُرجى ملاحظة ما يلي بشأن واجهة برمجة التطبيقات Transform:
    • يمكن أن تنطبق عملية التحويل على واحد أو أكثر مما يلي: المشروع الحالي والمشاريع الفرعية، والمكتبات الخارجية.
    • يجب تسجيل عملية التحويل على مستوى العالم، ما يؤدي إلى تطبيقها على جميع النُسخ.
    • تستخدم الآن عملية معالجة الرمز الداخلي، من خلال مكتبة تغطية الرمز في Java (JaCoCo) وProGuard و MultiDex، واجهة برمجة التطبيقات Transform. ومع ذلك، لا تستخدم حزمة أدوات تجميع Android في Java (Jack) واجهة برمجة التطبيقات هذه: لا تستخدمها إلا مسار الرمز javac/dx.
    • ينفّذ Gradle عمليات التحويل بهذا الترتيب: JaCoCo والمكوّنات الإضافية الخارجية وProGuard. يتطابق ترتيب تنفيذ المكوّنات الإضافية الخارجية مع الترتيب الذي تضيف به المكوّنات الإضافية الخارجية عمليات التحويل ، ولا يمكن لمطوّري المكوّنات الإضافية الخارجية التحكّم في ترتيب تنفيذ عمليات التحويل من خلال واجهة برمجة تطبيقات.
  • تم إيقاف طريقة الوصول dex من الفئة ApplicationVariant. لم يعُد بإمكانك الوصول إلى مهمة Dex من خلال واجهة برمجة التطبيقات للنُسخ لأنّها تتم الآن من خلال عملية تحويل. ليس هناك حاليًا بديل للتحكّم في عملية dex.
  • تم إصلاح الدعم التدريجي لمواد العرض.
  • تم تحسين دعم MultiDex من خلال إتاحته لمشاريع الاختبار، و تتضمّن الاختبارات الآن تلقائيًا الاعتمادية com.android.support:multidex-instrumentation.
  • تمت إضافة إمكانية إيقاف عملية إنشاء Gradle بشكل صحيح والإبلاغ عن سبب الخطأ الأساسي عند استدعاء عملية إنشاء Gradle لمهام غير متزامنة وحدوث خطأ في عملية العامل.
  • تمت إضافة إمكانية ضبط واجهة تطبيق ثنائية (ABI) معيّنة في النُسخ التي تحتوي على واجهات تطبيق ثنائية متعددة.
  • تمت إضافة إمكانية استخدام قائمة مفصولة بفواصل للأرقام التسلسلية للأجهزة لمتغيّر البيئة ANDROID_SERIAL عند تثبيت الاختبارات أو تشغيلها.
  • تم إصلاح مشكلة في عملية التثبيت على الأجهزة التي تعمل بالإصدار 5.0 من نظام التشغيل Android (مستوى واجهة برمجة التطبيقات 20) والإصدارات الأحدث عندما يحتوي اسم ملف APK على مسافة.
  • تم إصلاح مشاكل مختلفة متعلقة بإخراج الأخطاء من أداة تجميع الموارد في Android (AAPT).
  • تمت إضافة دعم قياس حالة التطبيق التدريجي لـ JaCoCo لتجميع إصدارات أسرع بشكل تدريجي. يستدعي المكوّن الإضافي المتوافق مع Android لنظام Gradle الآن أداة 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 سمة في المكوّن الإضافي التجريبي للمكتبة.