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

التبعيات:
  • Gradle 2.2.1 أو أعلى
  • أدوات الإصدار 21.1.1 أو أعلى.
ملاحظات عامة:
  • تم دمج المكوّن الإضافي "ربط البيانات" في مكوّن 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 واجهة برمجة التطبيقات Transform API لمعالجة الرموز الداخلية من خلال مكتبة Java Code Coverage (JaCoCo) وProGuard وMultiDex. في المقابل، لا يستخدم Java Android Compiler Kit (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 Asset Pack (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 الأصلية (JNI) في المكوِّن الإضافي للمكتبة التجريبية.
  • تمت إضافة إمكانية ضبط إصدار النظام الأساسي بشكل منفصل عن السمة android:compileSdkVersion في المكوّن الإضافي للمكتبة التجريبية.