مكوّن إضافي متوافق مع 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 API عملية إدخال عمليات معالجة مخصّصة للصفوف، مع توفير المزيد من المرونة بشأن العناصر التي يمكنك معالجتها. لإدراج عملية تحويل في إصدار، أنشئ فئة جديدة تنفّذ إحدى واجهات Transform، وسجِّلها باستخدام android.registerTransform(theTransform) أو android.registerTransform(theTransform, dependencies). ولن تحتاج إلى ربط المهام ببعضها. يُرجى ملاحظة ما يلي بشأن Transform API:
    • يمكن تطبيق عملية تحويل على واحد أو أكثر مما يلي: المشروع الحالي والمشاريع الفرعية والمكتبات الخارجية.
    • يجب تسجيل عملية تحويل على مستوى العالم، ما يؤدي إلى تطبيقها على جميع خيارات المنتج.
    • تستخدم عملية معالجة الرموز البرمجية الداخلية الآن Transform API، وذلك من خلال مكتبة Java Code Coverage Library (JaCoCo) وProGuard وMultiDex. ومع ذلك، لا تستخدم "حزمة أدوات تجميع تطبيقات Android بلغة Java" (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 بشكل متزايد لتوفير إصدارات متزايدة أسرع. يستدعي المكوّن الإضافي المتوافق مع 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 في المكوّن الإضافي لمكتبة الميزات التجريبية.