المكوّن الإضافي المتوافق مع 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:
    • يمكن تطبيق التحويل على واحد أو أكثر مما يلي: المشروع الحالي والمشاريع الفرعية والمكتبات الخارجية.
    • يجب تسجيل التحويل على مستوى العالم، ما يؤدي إلى تطبيقه على جميع الصيغ.
    • تستخدم الآن معالجة الرموز البرمجية الداخلية، من خلال مكتبة Java Code Coverage Library ‏ (JaCoCo) وProGuard وMultiDex، واجهة برمجة التطبيقات Transform API. ومع ذلك، لا تستخدم مجموعة أدوات Java Android Compiler Kit (Jack) واجهة برمجة التطبيقات هذه: لا يستخدمها سوى مسار الرمز البرمجي javac/dx.
    • ينفِّذ Gradle عمليات التحويل بالترتيب التالي: JaCoCo، والمكونات الإضافية التابعة لجهات خارجية، وProGuard. يتطابق ترتيب تنفيذ المكوّنات الإضافية التابعة لجهات خارجية مع الترتيب الذي تتم فيه إضافة عمليات التحويل من خلال المكوّنات الإضافية التابعة لجهات خارجية، ولا يمكن لمطوّري المكوّنات الإضافية التابعة لجهات خارجية التحكّم في ترتيب تنفيذ عمليات التحويل من خلال واجهة برمجة التطبيقات.
  • تم إيقاف دالة الحصول على 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 في المكوّن الإضافي للمكتبة التجريبية.