المكوّن الإضافي المتوافق مع Android لنظام Gradle، المراجعة 1.5.0 (تشرين الثاني (نوفمبر) 2015)
- التبعيات:
- ملاحظات عامة:
-
- تم دمج المكوّن الإضافي لربط البيانات في المكوّن الإضافي لنظام Android المتوافق مع Gradle. لتفعيل هذه الميزة، أضِف
الرمز التالي إلى كل ملف
build.gradle
لكل مشروع يستخدم مكوّنًا إضافيًا: - تمت إضافة واجهة برمجة تطبيقات جديدة 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
في المكوّن الإضافي للمكتبة التجريبية.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- تم دمج المكوّن الإضافي لربط البيانات في المكوّن الإضافي لنظام Android المتوافق مع Gradle. لتفعيل هذه الميزة، أضِف
الرمز التالي إلى كل ملف
الحد الأدنى للإصدار | الإصدار التلقائي | ملاحظات | |
---|---|---|---|
Gradle | 2.2.1 | 2.2.1 | لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تحديث Gradle. |
أدوات إنشاء حِزم SDK | 21.1.1 | 21.1.1 | ثبِّت أو اضبط أدوات إنشاء حِزم SDK. |